With regard to particle effects, yes, sparks are typically particle effects, but you can do more with them.
Particle systems basically work like this: you define an emitter which puts out points at a defined rate. You can then assign behaviours to them-- velocity, original direction, etc. – environmental behaviours like directional wind, or gravity, etc. – or they can have randomized movements, or collision behaviours, etc.
So you’re shooting out this little points, right? And they can have all sorts of behaviours assigned. Now you can decide how you want to render them. You can make them complex polygonal models (or simple ones) if you want. You can make them simple points, or whatever. Say you’re making sparks, you’ll want them to be rendered bright orange at the emitter, and then change colours to red and finally transparent over a certain number of frames, so it appears to be cooling and fading.
You can do fancier things with particle effects, too – things that don’t necessarily look like particles. Smoke is usually done with particle effects. A cheap way to do it is to make lots of little floaty spheres that have negative “gravity” (so they rise up,) and a certain amount of random motion, and are effected by horizontal “wind.” Then you render each sphere according to its distance from another sphere-- the closer any one sphere is to another sphere, the more opaque and dark it is. (They may also scale over time.) This gives the effect of dense “smoke” dissipating into the atmosphere, if you do it right.
As for reflections, “ray tracing” is the most processor-intensive. It’s basically plotting the way photons bounce around and simulating reflections, colour-shifts, etc. (ie; you define light sources and surface material and then let an insane amount of calculations are done.) I doubt that anyone uses this for real-time rendering, though, and I don’t know what short-cuts are commonly used for video games.