The idea is to create a rocket with a lot of parallel rocket engines with fuel tanks on top of them. All engines ignite at the same time. The trick, however, is that each rocket engine isn't depleting its own tank, but they are all draining their fuel from the outermost tanks. When these are depleted, the outmost tanks with their engines are decoupled and the next fuel tank takes over which is still completely full. The result is that the rocket always flies with the minimum number of tanks required to transport the fuel it has left while also constantly using all engines it has on board.
This concept can be realized through fuel lines which connect the stages in the order they will be dropped. It uses the fact that engines will always take their fuel from the most distant fuel tank available.
The main use of Asparagus Staging is to lift heavy payloads with higher mass to thrust ratio, mainly in the form of fuel, to orbit for the purpose of missions to the Mün and beyond. It can also be used effectively for the purpose of Space Station launch.
The biggest disadvantage of this technique is the complexity of building it. Usually the symmetry modes can only be used partially. One way is to only mirror each separate stage allowing to use symmetry for the complete setup. One drawback is, that the engines then are not always at the same height which may induce torque. Another way is to build everything except the fuel lines with the symmetry mode, but there each fuel line needs to be placed manually.
With more massive payloads it may require more layers of fuel stacks and struts, making the technique challenging due to the high part count. Although a rocket without asparagus staging has a higher part count because it is more inefficient. The part count can be reduced by installing rocket part mods that provide fuel tanks and engines of larger sizes, allowing to achieve equal performance with less parts, more stability and better looks.
Another disadvantage is that rockets utilizing this design may be unrealistic, because in the real world it is impractical or impossible to move fuel as quickly as would be needed. It also might look not aesthetic especially with multiple layers, because there are then many small rockets bundled together.
The rocket tends to start to roll when using this type of staging which might result in a loss in control of the craft. It also loses thrust with each staging event but only a lower mass compared to other staging methods. This can cause a serious drop of velocity reducing the efficiency.
As of 0.24 when a lot of parts have their cost modified, some rocket designs which use solid fuel boosters may be cheaper than those which use asparagus staging, when both rockets' payload mass to low Kerbin orbit is the same.
As rockets with asparagus staging may be wider than usual vertical stacked their real world drag would be higher. But as the drag depends on the mass instead of the cross-sectional area, there is no disadvantage of using asparagus staging when comparing the drag with other methods.
Although this might change in the future — the developers have already announced that the aerodynamic model will be made more realistic in future versions[not cited in the link] — this will most likely not a big issue, as the advantages outweigh this. But it will likely make it a lot more challenging to create aerodynamic crafts which use this technique excessively.
Real world application
This system is currently only a feature of Kerbal Space Program. In the real world there might be one craft, the Falcon Heavy by 2015 which uses this type of staging, although only with one level. The problem with asparagus staging is, that transferring fuel to an engine is already complicated. With additional pumps transferring between tanks the rocket becomes more complicated which may reduce the reliability. Another — very important — important reason are pressure losses that occur because of additional piping and further valves. This can call for added propellant pumps, which negatively impacts the efficiency of asparagus staging.
In 1947, Mikhail Tikhonravov developed this kind of staging which he called “packet rockets”. This led to the development of the R-7 Semyorka. Later developments of this rocket became then the R-7 rocket family. But all those rockets never used the original “packet rockets”/asparagus staging.
The application of the term "asparagus" to a form of rocket staging predates Kerbal Space Program and is not a creation of the players. The "Asparagus-Stalk Booster" was described by aerospace engineer Ed Keith on page 144 of Tom Logsdon's "Orbital Mechanics: Theory and Applications" in 1997.