Basic company information is public domain, and available to download in bulk [1] or via URI [2]
Companies House also offer a free app for iOS and Android [3] providing some additional info, e.g. details of directors and filing histories. If you delve into it, that is all served by a JSON API.
Accounts data has recently been opened up for free [4], providing info on about 60% of companies (all those that file accounts electronically, from what I gather) but the data is in (i)XBRL format, and I don't know how amenable it is to statistical analysis.
Documents are my biggest pain at the moment. I believe annual returns, etc. should be public domain, and I think it is wrong that Companies House have the authority to charge for access to them.
[1] http://download.companieshouse.gov.uk/en_output.html
[2] http://www.companieshouse.gov.uk/about/miscellaneous/URI.sht...
[3] http://www.companieshouse.gov.uk/mobile-app/
[4] http://download.companieshouse.gov.uk/en_accountsdata.html
However, looking into how Duedil got its dataset, it appears they buy the digitised data from Experian and friends, who get it from who knows where.
I can't imagine the government make enormous sums of money through the sale of such data, and I think there is a significant public interest in this kind of company data being freely available.
[1] http://www.companieshouse.gov.uk/toolsToHelp/ourPrices.shtml
You can buy a firms financials from the government for £1 a company, or buy a full dataset for several thousand pounds. For little people wanting to do statistical analysis, that is unaffordable.
An awesome startup here, duedil, somehow got the rights to the data, and makes it available for viewing through a lovely website. But giving some company monopoly on public data is really messed up. Good on duedil, but the government is really failing by putting them in that position.