Really all you need for a good campaign is players that are satisfied. If your players want a lot of detail, then you will need to provide that. If your players are content with knowing that seemingly inconsistant lore exists in your campaign, then you don't need to fix it.
For me, personally, I would like to see a campaign with no "hidden" rules (like if the spell teleport doesn't exist in your world I would like to know that before I decide what character to play.
I would like to see a consistant world, or, at least, if there is an inconsistancy, that there is a reason behind it (I don't need to know what it is, as long as it is indeed consistant).
I guess I'm pretty easy to satisfy. Maps are nice, gods are nice, etc etc but none of them are "necessary" per se from the get-go, though you'll have to create them eventually. I think the more work you put in, the more immersive the experience will be.
When I started by homebrew, I started with a creation myth and a starting city and a new (unplayable) race. I had a rough map of the continent, and we started creating characters from there. That's all we had when I started. Oh, and a change to the way magic items can be created.
The cleric started asking about the gods, so I created the gods. As the party started venturing out from the city, I started adding towns and other landmarks. As of today, I have most of the starting territory mapped out, but nothing except starting cities for the other territories.
I don't think you can have too much, but you may have to much to present in one sitting. If you have a lot of material, I would end each session by saying, "I think the political section is going to be important next session, you may want to read up on it," or whatever part is going to be relevent soon.
Again though, if you have any weird rules (like not allowing scrying, not allowing 10' reach weapons, etc) you should make sure those are all known right from the onset.
That's just my 2cp