You've got it right. You buy the domain and hosting. If you buy then through the same provider, they're probably already linked. If not, the hosting company will give you Domain Name Servers to point your domain to. Easy peasy.
The space you get with the account isn't going to get eaten up with HTML files, but images, flash, databases, etc. 10gb is more than enough to get started, but I would recommend a plan that allows you to easily upgrade when the time comes.
While I've never used them directly, I've had clients use GoDaddy and I haven't been terribly impressed with their service. BlueHost is probably a better choice.