Lego Digital Designer
Imagine, if you will, an infinite box of Lego. Any piece you want, in any color you want, in any quantity you want--and you never risk having a cat swallow a piece or accidently walking over a pile of painful plastic caltrops barefoot at night. That's what you get with Lego Digital Designer. You have a palette of hundreds of pieces--quite probably every piece ever made, at least in the past few years--and you can build with them (virtually) to your heart's content. Even better, when you are done, you can order every piece you used as a single kit and create your model in meatspace. You can even print out the step-by-step instructions.
It's hard to imagine anything cooler.
You click and drag your pieces from the toolbox into the virtual building space. At times, it can be difficult to get the pieces positioned where you want them--the program wants to snap pieces together and can sometimes be too "helpful"--but usually rotating the model to get a clearer view of your target will eliminate the frustration. The interface is mostly intuitive, but it can take a little playing around with it to really get comfortable. Sometimes, pieces won't click the way you think they should and it's not always obvious as to why. Nonetheless, these are very minor quibbles.
Lego Digital Designer lacks the tactile pleasures of the real thing, but that's about the only drawback. You can upload your models to a shared, online, library, and download other people's. The company will check your model to make sure it's not obscene, violent, or copyright-violating.
A handful of pieces cannot be ordered, but you are notified that this is the case when placing them, so no nasty surprises when you're done.
Note: This link takes you to the vendor's site, where you can download the latest version of the software.