The meaning of "in hospital" and "in a hospital" is subtly different.
The difference is that "in hospital" is description of a general state of being hospitalized, rather than a location, whereas "in a hospital" is referring to the location (even though it still doesn't tell you where it is).
You would only use "in hospital" to refer to someone who has been hospitalized, ie is receiving treatment. So, if you were recovering from surgery, you could say that you are "in hospital" (ie hospitalized) or "in a hospital" (the location). But if your relatives came to visit they would not be "in hospital" - they would be "in a hospital" or "in the hospital" or "in St Mary's Hospital" for instance.
Talking about someone dying (eg Muhammed Ali), if they died while receiving treatment (such as life support) you would say they died "in hospital", as this tells the listener that they were being cared for, and their death was presumably inevitable. If you were to say that someone died "in a hospital", that makes it sound like they weren't receiving treatment at the time: eg perhaps they had a massive fatal heart attack and stroke when they saw the bill for their father's treatment, and were dead before any of the staff could try to rescuscitate them.
EDIT: apparently AmEng doesn't use "in hospital", saying "in the hospital" to mean "hospitalized". This means that in AmEng, "in the hospital" is ambiguous - possibly meaning "hospitalized" or possibly meaning "located in the hospital". As with all ambiguity resolution, context is key. If my mother was seriously ill (in hospital), and I said to my sister that I was "in the hospital", she would guess that I was visiting our mother, rather than being treated - but she might feel compelled to check.