Why do I have to get a domain name separate from the hosting account?

Your domain name is an asset to your business, just like a trademark is.  It's important that you control your business assets.  By keeping domain registration separate from your hosting account, you have independent control over your asset.