I'm going to start this one by saying I'm by no means a meteorologist! Let's first look at why the sky is blue in the daytime. Light from the sun (or anywhere) is made up of all the colours of the rainbow, as it enters the Earth's atmosphere, the short-wavelength blue light is, more than any other colour, scattered in all directions so the sky appears blue in daylight. At sunset, however, the sun is lower in the sky, so the light has further to travel which causes the blue light to be blocked and scattered away allowing the longer wavelengths of oranges and red to show in the sky. Whilst it's not the clouds themselves which cause the stunning sunset, it's high- to mid-level clouds which are the canvas for these oranges and reds. Lower clouds, like big rainclouds, are not very helpful for reflecting the light and puffy clouds on the horizon tend to not allow light to pass through them. Clean air is another factor in producing a beautiful sunset as clean air does a great job of scattering the blue light. Whilst big rain clouds aren't good for reflecting the light, the time after a big storm can often be one of the best times for a dramatic sunset as the air is that much cleaner allowing more vivid colours to pass through.