Your question is like asking, which is great: a truck, a bus, or a motorcycle.
Go to www.wholelattelove.com
They have much information about espresso machines.
From my experience, here are the important things to know:
1. The coffee bean is the most important. For great espresso, you have to get the best beans, freshly roasted, typically from specialty coffee stores. NOT THE SUPERMARKET.
2. The next most important thing is the bean grinder. This will cost between $200 and $800. Being able to produce a fine and consistent powder is very important.
3. Finally, you need a good machine.
A very popular combination is the Rancilio Rocky grinder with the Rancilio Silvia machine. Total is about $850.
If you don't want to spend at least $800, then I would advise on a Nespresso machine.