There are many things you should consider when determining if you want your WordPress site self hosted or not.
Why Choose Self Hosted
Hosting your own WordPress blog on your own servers, or possibly through a hosting provider, gives you many freedoms that you may not have with another provider. As you will see below there are times where you are restricted on what you can or can not do with your WordPress site. However, if you choose self hosted, then you can run whatever you like, since you are the one who is managing the installation. If course you may also be responsible for the backup of your data, and reinstalling it of something goes wrong, keeping up with security updates, etc.
Hosting your WordPress blog on WordPress.com has the advantages of being set up for you by WordPress, with all updates and plugins being managed by them. However, on the free versions of WordPress, your blog will have advertisements attached it it. You'd also be limited in the amount of storage space you have available to you for graphics that you could post on your blog.
A purchased WordPress plan, either from WordPress.com or another provider, gives you more options for running your site, but as the word 'purchased' implies, it is going to cost money.
One of the other downsides to a free WordPress.com account, or some of the other paid WordPress plans, is that you are restricted in your ability to install plugins. Various plugins are used to enhance the functionality of a web site. For example, did you notice that once you logged in the next asking you to log in disappeared? That is part of the membership plugin that is used on this site.
Using some of the free options out there wouldn't let you install plugins. Another example is the WordPress offering from My Lead System Pro. They have supplied you with many plugins that you can use on your blog. However, they do not allow you to install your own plugins. While the selection of plugins should be enough for most people, it is not enough for everyone. In those cases you would be wanting to host your blog in a new location.