Well, immunizing Firefox was a much-wished-for feature. Some can't do very well with it, can't do without it ;-)
"Immunization" is kind of defined as supplying browsers with blocking information in a way that does not need the providing application to be running at the same time. And the hostperm file is only method this can be done with a pure Firefox installation.
So from a technical perspective, this is the only method we can use. Regarding "well thought out", I think Firefox could be improved for better handling if this block list - even if it has 45000 entries, that's not something that should be noticable. What I suspect is that Firefox uses a linear search algorithm to compare domains against this list. I think I've written elsewhere that a nice implementation of a trie algorithm, e.g. Aho-Corasick, would make this lookups unnoticable in terms of used time.
As to why the hosts file is not sufficient: user preferences and multiple layers of protection
Some users don't like the hosts file because it may slow down the system even more, for example. Some malware removes entries from the hosts files, but does not remove entries from all layers of protection if there are multiple ones.