I agree with @Sandhya As in Self Hosted Website, you have to buy your own domain name and hosting service to run a self hosted blog, but by doing so, you get a lot more freedom over your website.
You can add whatever theme you want and customize your site to your own specification. This instantly makes your site look more professional, which will help you attract more visitors.
You aren’t hindered in anyway with your site SEO, so all the keywords, Alt tags, inbound links, etc. help your site to rank higher in the search engine results pages (SERPs). This alone will help drive more traffic to your site.
You are free to place whatever adverts/banners that you want on your site. Some free blog hosting sites restrict your adverts, some even place ads for you which make money for them instead of you! You won’t face these restrictions when you self host.
If you want to make a Professional Website, Then I recommend you to go with the Self