WordPress.com is a different hosting platform. Their system is proprietary, you do not have FTP access to manage your site, and you can only export your posts/pages/links/comments from the original wordpress.com blog. Your theme will not carry over, and I don’t believe any custom widgets will either. Please take this into heavy consideration when you’re moving to a self-hosted wordpress.org system. Don’t be surprised when you can’t have the same theme, or a special plugin/widget. They’re different systems. Like a European (driver on the right) car versus a Western (driver on the left) car, they may look the same but they’re built very differently.
1) Sign into your wordpress.com blog, go to Tools, and click on Export
This should allow you to save a copy of the contents of your blog. This means your posts, pages, comments, etc – but not your theme. WordPress.org comes with a few hundred themes for free that you can choose from, or you can find other themes on 3rd party Theme sites such as ThemeForest. My current theme is the SimpleCatch theme by Catch Themes – it’s available for free in the Themes section of wordpress.org and it’s very customizable and advanced.
Note: If your domain name currently points to wordpress, ask your host what their nameservers are so you can point your domain to them and install the new wordpress.org software before you proceed. Look up where your domain points to at http://who.is/ – if the nameservers are ns1.wordpress.com ns2.wordpress.com and ns3.wordpress.com then it is not yet pointing to your new host. You may not be able to proceed until you do this. Refer to this link for info on how to open your wordpress.com site to change the nameservers to your new host: http://en.support.wordpress.com/domains/change-name-servers/
2) Sign into your hosting account and install WordPress.org
Bluehost and many other cPanel hosts like Hostmonster, FastDomain, Justhost, etc will have an one-click-installation tool such as SimpleScripts or Fantastico that you can use to install WordPress. Here’s an example video by Bluehost on how to install WordPress: http://www.youtube.com/watch?v=xngJPd9Vk-s
3) Sign into your new WordPress site to import your old site
Typically it will have you log in at http://www.yourdomain.com/wp-admin
This is the Dashboard. Many aspects of it are similar to the WordPress.com system you’re used to. For your records, you may also receive an email to the address in your hosting profile page with the access information. You can change your password in the Users page on the left, but let’s hold off on that for now. The most important part is getting your site imported.
Click on the Tools option on the left, and then the sub-option to Import. You may need to install the WordPress importer tool. You can also find options to import other systems such as Blogger, Tumblr, and LiveJournal on this page. After you install the WordPress importer tool, be sure to activate it. Then go back to Tools > Import > WordPress and it should ask you to browse your computer to find that file you exported from WordPress.com and the rest is pretty self explanatory.