Particle systems can work in several ways. For instance, an entire type of particle system can be devoted to rain and its behavior alone. These types of particle systems have programmed parameters regarding realistic behavior of fluid droplets, and when animating them you can define different parameters controlling the type of rain, how wind and gravity affect it, even the opacity and reflective quotient of the water. In this case, because the particle system was designed to generate rain, animators often don't have to first model individual droplets that the system then animates. The particle system creates everything, and animates it in the scene it's created in.
Another type of particle system lets you create your own objects for the particle system to use when generating a cloud of particles. The swarm of bees is a good example of that; you may model an individual bee, animate the movements of its wings, legs, and antennae, and then plug the bee into the particle system to create an entire cloud of bees swarming. You've only modeled and animated one bee, but the particle system controls all of the bees so that they all look individually animated. Some systems also allow you to plug in several types of objects. If you were animating a scatter of flower petals, the petals wouldn't all look exactly the same. You could create five to six different types of petals, and even define how frequently they occur in relation to the other types.
Other options controlled by particle systems can include particle density (which controls how many particles are compacted into a particular space), particle size (which can create variants of the individual particles in randomized sizes set in a specified range), and particle scatter (which determines how particles are distributed over the defined space). Different programs may use different terms for these options, and may also allow control and fine-tuning over a number of other options.
One of the biggest advantages of particle systems, beyond creating and animating mass quantities of small objects without having to model and control each one, is the ability to move all of those individual particles as a single object. It's a sort of nested animation, not that different from a movie clip in Flash. One timeline controls the animation of the individual particles in a particle system, while you can move the entire particle system as a whole on the main timeline. How it moves on the main timeline can also be managed by flow parameters in the particle systems controls, though it also requires an animator's knowledge and expertise. Rain blowing in sharp gusts of wind won't move the same way as a chaotic swarm of bees flying from tree to tree.
Particle systems also have the option to define how they interact with other objects in the environment, such as snow hitting the ground or rain splashing off a window. Often due to quirks of calculations you can't rely wholly on the particle system and have to use other systems, such as fluid or gravity systems, to help tweak and control the interaction of the particle system with the other parts of your 3D landscape.
At this point, 3D programs aren't the only ones to use particle systems. 2D programs like Flash are capable as well, such as the Deco Tool in Flash CS5. It can use auto-generated systems to create and animate things like vine fills and grid fills, but also has options such as animated sparks controlled by particle systems.

