<p>Has anyone got much experience deploying applications to Amazons EC2? I am considering doing this in future and wonder about peoples experiences compared to shared hosting and dedicated server hosting are.</p>

So far, so good. Being able to turn on 5/10/50/100+ machines at a time is awesome. It's even better being able to turn them off and forget about them. You need to change your mindset about how you store your persistent data, but once you have the sky is the limit.
Performance wise, small instances are slow. They're fine for load balancers and serving static content, etc, but if you are doing anything processor intensive, you need at least a m1.medium instance.
It's all pretty new, so there aren't many tools to help out yet. I'm using
Puppet
to configure my hosts and I have a set of PHP scripts for starting up clusters. I use LDAP as a host inventory database.
If you don't have the need/urge to build your own, see
Rightscale
for some really awesome tools for deploying/growing apps.