As an avid WordPress user for many years, here's some answers for you.
WordPress.com vs. WordPress.org
---------------------------------------------------
WordPress.com is the free version of WordPress. The only reason I think anyone should use a free blog from there (my opinion) is if they only care about writing content and are not worried about making money, customizing their site, advertising, expanding down the road, etc.
Like you noticed, you can't upload a custom theme; you cannot edit your theme; you cannot install any plugins, etc.
On the flip side, WordPress.org is the "self-hosted" WordPress blog area. This means you download the software for free, purchase web hosting (somewhere around $10 or less per month), and then install WordPress on it. Now you're free to customize WP any way you want, offer advertising spots, promote affiliate products to make money, install plugins, etc.
The only downside is that you have to take care of upgrades and security yourself.
What is a host and why you need one
-------------------------------------------------------
In short, a web host is a company who you buy / rent "disk space" from in which you can upload your files to, in this case it's WordPress. Once there, you can install WordPress and then people will be able to come to your website / blog.
In other words, a web hosting account allows you to upload files so that they can be viewed on the Internet.
Installing WordPress
------------------------------
If you're brand new to web hosting stuff (which I gather you are), then WordPress might seem a little difficult at first to install because you also have to create a database and link it to your WordPress files. So you'll have to do 3 things to get it installed:
1. Download WP from WordPress.org and then upload it to your host
2. Set up a database on your hosting account
3. Install WordPress and link it to your database (very simplistic overview)
Which Web Host to Use to Make Your Life Easy
-----------------------------------------------------------------------
Go with http://wpbloghost.com/wordpress-hosting.html for hosting. They have a hosting package which starts at $6.95/mo. and it already includes WordPress installed.... so you can skip the installing WordPress thing.
You buy the hosting, WordPress is waiting there already installed.
There's also a video on that page I linked to. It takes you through the buying process of their hosting so you can understand it better.
Good luck.