The Gazan civilians aren't the target. They're stuck. Hamas, the weapons caches, and the tunnels are the target. They're stored among the civilians in their homes, schools, hospitals, mosques. Israel's left with a tough decision: do nothing and let Hamas bombard Israeli population centers with 150 long range rockets a day, or take out the launch pads and collateral damage. So they go with the latter, but they make an effort not to kill civilians. They give warnings via all types of delivery system. Problem is, Hamas embedded themselves among their civilians for a reason. They want to inflate their own casualties. So they tell them to be human shields. They tell them to stay inside even if they've been warned that their house contains weapons and is going to be destroyed. They tell them to avoid calls for evacuation from the north. They tell them to go to their rooftops. Meanwhile, whereas Israel has spent the last decade building shelters to deal with bombardment, Hamas has done nothing to protect their civilians. Their civilians are canon fodder to them.
The Gazan civilians are trapped by a leadership that doesn't care about them. Israel is trapped by a group that will never stop bombarding them because that would be against their charter. So Israel does what it has to and does what it can to keep civilian casualties low.
Israel uses missiles to protect its people. Hamas uses people to protect its missiles.