Hamas hides military weaponry in schools, hospitals, civilian homes, etc. They use civilians as cover.
When Hamas launches their rockets, they don't give any warning. The rockets just rain down and it is up to the Israeli defense systems (both the missile defense system and the alerts/bunkers) to protect their people. Hamas also doesn't target just military locations, but anywhere their missiles can hit.
When Israel launches a rocket, they give warning. They send out text messages, drop leaflets, announce in any way possible that X compound will be hit at Y time for Z reasons. They warn everyone to clear the area. It might seem counter productive to warn your enemy that you are coming, but when your enemy is hiding in a hospital, there is no way to get to him without hurting civilians. So Israel warns the civilians ahead of time and tries to target their strikes to just the areas hiding Hamas rockets.
When the cease fire was in effect and Hamas stopped firing rockets at Israel, Israel stopped firing rockets back. If Israel stops firing rockets at Hamas, Hamas doesn't stop their attacks.
Let's be honest here. Suppose here in America, some native American group got a hold of a bunch of rockets and began firing them from their reservation onto American cities. Suppose those rockets were housed in hospitals, houses, places of worship, etc. Would the American government sit down and ask the group nicely to stop firing? Or would they send in the troops? Even if they tried diplomacy, how long would the politicians hold out against the populace who would be screaming for some kind of action to stop the rockets?
Is Israel perfect? Of course not. There's a lot of policies of theirs that I take issue with. (e,g, Tolerating settlers who venture into the West Bank/Gaza/etc to set up "claims" for that land to be part of Israel. Those settlers should be forcefully removed and imprisoned for inflaming the conflict and thus risking people's lives.) However, when it comes down to Israel's reactions to the rockets heading towards them, there is no perfect response. There is no way for them to respond that a) stops the bombs, b) stops future bombings, and c) doesn't hurt innocents. They have a system in place to reduce collateral damage as much as possible, but it doesn't help when Hamas acts in a manner designed to intentionally INCREASE collateral damage.