I understand why interpretation overhead is expensive, but why are JITted Python implementations (Psyco and PyPy) still so much slower than other JITted languages like C# and Java?  
Edit:  I also understand that everything is an object, dynamic typing is costly, etc.  However, for functions where types can be inferred, I'm not sure why this matters.
People have already pointed out the technical details, so I'll add another factor: money.
In the last few years, Javascript VMs (Google's V8, Mozilla's Tracemonkey & Jaegermonkey, Apple's Nitro) have delivered a huge speed increase for another dynamic language. That's been driven in large part by Google's desire to make web apps more powerful. Python just doesn't have a big company standing to gain by making it 50x faster.
Oh, and the integration with C extensions like numpy means that speed is rarely critical for Python code, anyway.
Why are JITted Python implementations still slow?