Code cleanup
For the 2.40 release, a cleanup of core particles code was done, particularly in the evaluation of speed and forces. This recode means that force fields and collisions now work for all current options. The downside is that particle forces now work a bit differently than before.
Show unborn Particles
By default, particles are visible only after they have been emitted. Unfortunately, this removes the ability, for example, to make something stay together first and then blow to pieces. The new option "UnBorn" allows to you see particles in the render before they are born. This also works for dupliverts, as illustrated in the linked video (click on image).
Emission from Vertices and or Faces
You now can control whether particles are emitted from vertices, from faces, or from both.
Note that when using the options to make an even distribution, vertices are not included, even when indicated as otherwise.
Vertex Groups to define distribution
You can use Vertex Groups to indicate where particles should be generated. Faces or vertices with zero weight generate no particles. A weight of 0.1 will result in 10% of the amounts of particles. This option "conserves" the total indicated number of particles, adjusting the distributions so that the proper weights are achieved while using the actual number of particles called for.
Note: Due to this redistribution, particles are re-generated while Weight Painting.
Demo video by Jason Saunders (6.4MB)
Vertex Group to control speed
To control speed of particles, or the length of a static particle strand, you can also use a Vertex Group. The starting speed of the particle will be multiplied by the Vertex Group weight to calculate the actual speed (or length) or the particle. The option is in the "Velocity" section of the Particle buttons.
Note that while zero length 'strands' are not rendered, they are still calculated. For an actual definition of where hair grows, use the vertex group option in the "From" section.
Distribution control
When particles emit from faces, two options can be combined to control distribution (in image, top to bottom)
The Jitter table size is calculated automatically, which fits the fixed amount per face option. For control over the "Even distribution" option, you can set a manual jitter table as well (P/F button).
Curve Guides
The path a particle makes can also be defined by a Curve Object. You can add as many different Curves to a particle system as you like, with each Curve only guiding the particles that fall within the influence distance.
The Guides also work in conjunction with the other particle options (like setting start velocity or forces) and with other Force Fields. Moving guides will update the Particle system in real time.
Additive Guides
By default, Curve Guides only use the falloff distances to mix between the various Curve shapes available. This means that even when you only use a single Guide, all particles will move entirely over the Curve Path. This allows you to edit evenly distributed haircuts, for example.
The "Additive" Guide option uses the falloff distance to also define the speed, or how far the particle traverses the Curve Path. This way you can locally edit extreme particle generation (or hair growth). Note that using this Guide type in combination with normal Guides still equally mixes each Guide's influence based on falloff settings.
Texture controlled Emission
You can control the timing of particles with a Texture. This feature uses the intensity values of a texture to determine when, between the particle start and end times, to emit from a certain location. For example a black and white blend texture would begin to generate particles and, with the emission ending at the other side.
The example image has a plane with a musgrave texture and the Unborn option turned on.
Now all we need is a texture option to do the same for alpha (use texture intensity as alpha an threshold between certain frames) and we can burn any Mesh to dust!
Video Tutorial
Frédéric van der Essen has made a video tutorial that gives an overview of these features in a practical situation. 17MB AVI
And a demo file by Matt Ebb, using curve guides to make braids. braids2.blend.zip

Notes
Special thanks to Janne Karhu, for providing the patch with almost all of the functionality as described on this page.