Moving a website is not as difficult as you may think because it really is easy. There are few steps to follow carefully.
Do not get over excited when you see an extremely cheap hosting plan, look carefully at what the plan that they provide and always read the terms and conditions for tricks or more fees. Define your own requirements before hand and look for a hosting plan that match closest to your soon to be old web host. A 24/7 support with phone support is a must! Try to find a host that uses the same operating system as your existing host. Get a web host that has a fast Internet connection and has fast servers and good up time (95.3, 99.0, etc)
Make sure if you use php, CGI, Perl or ASP that your new web host supports it. On php make sure they support all the php functions you need and make sure they have all the Perl Modules that you use.
Backup should be done regularly and not during any major change like moving your site. Make sure you backup everything on your site or you risk losing it all!
You need to be sure that your site is functioning before you cut off from the current host. It's always a good idea to get someone else to test out the new site, if you have more than one computer than use both computers and have a friend to take a look at it too. I would also suggest that you test everything from links to images three or four times to make sure things are fine.
Once all this is done you can switch your web hosting and go live. For the next 48 hours check your site often as posable because you never know what may brake or happen. If you do all the above you should be fine and good to go live!
Matt Colyer is the owner of the Marhen.com Network which includes www.linkexchangeit.com and is a part-time SEO. He also is a php, CGI and ASP developer.