As far as graphical effects go, a particle system is one of the most versatile. It can be used to simulate things like electrical sparks, dust clouds, smoke, fire, and water. However, there is one problem which I have been annoyed with several times in the past, but just lived-with because I didn’t think it important enough to fix.
I would spend ages programming a particle effect, tweaking all the parameters to get it just right, and it would look fine at first. But then, on another computer, or on a different screen resolution, or even just with a different size of window, the effect suddenly wouldn’t look right. All the particles would be too small or too big.
You can see this problem in the image above. It shows a particle effect for a rocket thruster — the one on the left is how it should look, while the one on the right shows what happened when I roughly tripled the size of the game window. Read more OpenGL gotcha: my particles are too small