Best software for hosting your blog
If you want complete control on your blog; where it is hosted, how will it look, commenting system, subscriptions, monetization, etc, you may want to subscribe to a hosting solution or spin up your virtual server and install a blogging software. To setup your blog, you have multiple free of cost/open source blogging software available. Instead if you do not want to setup your website and want to start blogging right away, you can check out the best blog publishing platforms. Let’s see what are your best bets.

Wordpress
Wordpress is one of oldest blogging software / Content Management System(CMS) and powers 25% of the websites on the internet. It started as a free extensible blog publishing software, but has gathered around so much popularity and community that it has become the go to solution for creating full fledged websites without any need of software skills. Wordpress themes and plugins are available in numbers of hundreds and thousands, with them you can power a whole e-commerce website.
Wordpress is built with php and requires MySQL for data storage. It has excellent content creation features, with the inbuilt text and html editor, which can be extended with short-codes and plugins to insert any kind of content available on the internet. You can modify the look and feel of your blog any way you want with plethora of free and paid, easy to install themes. You can publish posts, categorise and tag them, publish static pages, contact forms, subscription forms, image gallery, etc. Access control is also provided for authors, editors and admins.
Since Wordpress is built over old technologies, it lacks the speed and fluid interfaces of the current day technology websites. Another disadvantage of legacy code is that security loopholes can sprung around which have to be plugged, otherwise can be exploited by hackers. If you only want to create a small blog without the need of much plugins, you can easily do it and taking care of basic optimizations should get you a perfect website which can be always extended with the plugins as you grow.
Ghost
Ghost is an open-source software created to fulfil the need of a fast and secure blogging platform by the team from within Wordpress foundation, after the frustration from complexity for a simple blog. Since new technologies like NodeJS and Mongodb came along, it was natural to shift to them for a fast, fluid, secure experience. Ghost focusses only on blogging and does not have a plugins/themes beyond the blogging world.
Ghost is built over Nodejs and most of the popular DBMS can be used for storage, like Mysql, Postgresql, Mongodb, Sqlite, etc. Serving of blog posts is blazing fast due to inherent speed of Nodejs and is also very secure. It has a good post editor which is based on markdown and features a split screen editing mode, where you see your changes side by side. Since html is valid markdown, you can embed most of the content into your post. Ghost has plenty of themes available in the internet to stylize your blog.
For things like subscriptions and contact forms, to may have difficulty to find proper plugins compared to Wordpress, where everything is easily available. Ghost is loved by developers, as it can be easily extended by adding your own code. If you have development experience, you can make it do anything you want as required. Ghost has easily become the popular choice among developers for hosting their blogs and continues to grow in features and flexibility.
Jekyll, Hexo and Grav
Jekyll and Hexo are static site generator software, which means no database is used to run your blog, instead the posts and pages are stored in plain text files. If you are going to host only html posts and pages, without any kind of login or other features, you may try them. To use them, you need knowledge of command line as it cannot be deployed with any user interface and does not have any editor. You will have to write you posts in plain text file with markdown and upload to your server with command line or ftp or whatever and run run a command to create pages for you website. Jekyll and Hexo may not be suited for the average blogger, but the excellent concept of static pages has been picked up other software which also include the ease of writing. Grav is one such static site generator and has a good post editor for to blog like a non-hacker, which is super easy to use. It provides the same speed and ease of installation of static page generators but with good editing experience. But it is a new software and themes and plugins for it are not in great numbers yet. None the less you may try your hands on it.