tl;dr
Sea control is good. Sea denial is not that much worse.
Sinking an enemy ship at the cost of significant damage to your own is less desirable than keeping your enemy holed up in port (where his ships do little to no harm and your own ships stay undamaged).
As basically all naval strategy questions, this one puts too much emphasis on "defeating the enemy" and too little on the effects of a fleet in being.
As long as the enemy fleet is effectively inactive, the enemy might as well not have the fleet. Even better, your enemy has to keep supporting his ships, without gaining anything of strategic value.
Forcing a decisive engagement will cripple a significant number of your own ships as well, taking them out of action for many months, or possibly damaging them beyond repair. Major warships are very much a long-term investment; several WW1 battleships continued to serve through WW2 as well. And battle is a fickle thing; what might look like a perfect plan can still rapidly lead to disaster.
When the Hochseeflotte did start getting more active, the Grand Fleet did engage them (Battle of Jutland). This engagement did show how quickly warships could be lost, and how good plans can lead to bad results. What could have been a decisive victory turned into a tactical defeat, with higher losses for the Royal Navy than for the Hochseeflotte. The strategic result was the Hochseeflotte returning to their bases, and not challenging the RN again in open battle; that was a good second best from the British perspective.
Attacking the German harbours would be an extremely risky operation. The navigable channels are very small, approaches long, giving German forces ample time to prepare themselves. Shore batteries generally have an easier time hitting a ship than vice versa (as they are stationary, readily zeroed in), and suffer none of the limitations of size, armor, or supplies. And that is not even taking into account that the ships you want to attack can return fire as well. Picture, if you will, an attack on Wilhelmshaven. To get in sight of the shore installations, you would have to sail into the Jade Bight, a channel much less wide than e.g. the Gibraltar Strait. To even get to Kiel (not much better as far as approaching the harbour proper is concerned), you would have to first navigate the Skagerrak and the Kattegat, entering the Baltic Sea. Through heavily mined waters. And while you are shooting at shore installations and ships at anchor, all it takes to bag all your ships is a single mine layer dashing in, blocking your retreat. Heck, all it takes would be to scuttle an old freighter in the middle of the channel. You'd be serving your warships to the enemy on a platter, giving all the trump cards away.
Post Scriptum:
Have a look at this map of the aforementioned Battle of Jutland (by Wikipedia user Grandiose, used under CC BY-SA 3.0 license):
Do you see the red area, stretching from Esbjerg in Denmark to west of the Dollart? That's labelled "mined area". Which means even getting to the aforementioned channel leading to Wilhelmshaven would be no walk in the park...
I thought it would be fitting to add the following two lines from "Heart of Oak", the official march of the Royal Navy:
If they run, we will follow, we will drive them ashore,
And if they won't fight, we can do no more.