Can I buy the domain somewhere else (ex. GoDaddy) and have WordPress simply host it?
Yes, that's possible. To map a domain you already own to your WordPress.com blog, you will need to purchase the Domain Mapping upgrade. You can find this upgrade by going to Store -> Domains on your blog's dashboard and follow the steps there.
Please find additional instructions for mapping your domain here:
You can find hosting recommendations at http://get.wp.com/hosting/
To clear up any confusion, WordPress.com and WordPress.org are two different entities. At WordPress.com, we provide hosting, support, and tons of features for blogs. Users also have the option to purchase a variety of upgrades to customize the look and feel of their blog. WordPress.org is a software for self-hosted sites. With WordPress.org, users are provided access to all backend files and can upload custom themes and plugins.
Check here to learn more about the difference between WordPress.com and WordPress.org: