There is a wide range of blogging platforms, for example, WordPress, Tumblr, Blogger, Medium, Drupal, Joomla etc. I will not go into their pros and cons as on Internet you can find many good reviews written on this topic. Bottom line is all of them are easy to you use and almost free as far as basic features are concerned. These days people even do publish blog posts through Facebook, Linkedin and Google Plus. Particularly, Linkedin can be very effective to target relevant audience and build professional network.
In the past I have used WordPress, Tumblr and Google Plus. Though they are pretty descent blogging platforms, but I did not have freedom for custom changes. Therefore, I was more inclined towards personal html/css based website alongside blog system. I could have used WordPress for this but you know your hands are tied when it comes to WordPress customization. Or maybe I am not very good at WordPress. Therefore, in first phase I decided to build a html/css based personal website and in second phase to bring in a suitable blogging system to the website.
Initially I was looking for an open source and file-based solution. I was willing to put additional effort required for modifications and integration work, as I have happened to be a reasonable good programmer. I was able to find such a solution - a light-weight blogging (php) solution and stores blog posts into Markdown files. Remember! it requires a quite bit of developer's effort to integrate with existing html/css website. Before I do integrate this solution with my personal website, a friend of mine was in urgent need of blogging system at his website. So I decided to help him first and integrate it with his business website. It worked perfectly fine for him except he had to send blog posts to me for upload - because blogging system does not have a control panel. After a while I realized either I should implement a control panel myself or find another solution which comes with a control panel.
After a little bit of research I decided to go with Kirby. Kirby is a file base CMS and comes with a descent control panel. You have option to integrate it with the design of your existing website design or host it under separate subfolder. Again you must be a good web developer or ask for help who is good at it. For my blog nasirmaan.com/blog, I hosted it under a subfolder of my website as design of my website was not accommodating. However, on my friend's website I integrated Kirby with the design of website geeksquare.ca/blog. Last but not least Kirby is not free! You need to by its license. Checkout price under getkirby.com/buy