So how would I go about creating this kind of effect? Are we talking
pixel-shaders, blendmodes/filters, bitmap effects, particle systems,
or what? Not really platform specific. I am just looking for the
theory, but specific examples or links would be great. And more detail
the better.
All of the above.
Unless you poke through their source code you may not know precisely how they did it.
However, from the looks of the two games, both of them have what appears to be geometry that is connected and trails the ship. May not necessarily be a basic point-sprite particle system, but it's not all that difficult either.
Some games will use a curved line algorithm and generate a list of vertices from that and do a bit of texturing with different textures applied at the two endpoints of the trail, so that at one point the exhaust looks hot and at the other it's cooler and trails off into space.
A player's ship is an interesting case because the movements are unpredictable, and you may either need to update the control points of your curve algorithm, or end up sampling the latest ship position and generate vertex positions based off of that.
Take a look at this answer from an earlier question if you want to have something that works off of control points. For your needs though, sampling the players position would probably work a lot better and be easier understood.
Here's something to get you thinking:
Start sampling the player position. These points will form the body segments of your trail, from which the geometry can be constructed. It's a good idea to keep a separate tail segment that has a separate texture. You may want to detect when a player is turning and increase the frequency of these segments, otherwise you'll end up with blocky curves. Unless that's the effect you're going for :)
At certain events, the segments need to stop generating and the existing ones should start slowly scaling down, starting from the body segment closest to the tail (but not the tail itself). This is in case of the player slowing down. But, if the speed at which the segments are scaled down matches the player's ship speed, then a new segment will be formed just in time as one is taken out. So this also works well for a ship that's in full motion. The length of the trail will always be the same - which gives a fluid, consistent stream.
The head segment should always be at the player's current position. If any turns are detected, the existing head segment is added to a body segment, and a new head segment is started. Repeat. Depending on your textures, each segment may have a maximum length as well.
This gives us an easy way to model this effect: working off of the idea that the effect will always be diminishing/shrinking by itself unless more segments are supplied, and playing around with speeds to keep it from shrinking.