The hide action is much maligned - but is this fair?
In most cases, yes, the hide action is a Bad Bad Thing because it takes control of notifications away from the user and gives it back to the application. Generally speaking, there should be no occasion when an application needs to programmatically remove a notification - how would it know if the user had finished reading it for example? The closest sensible scenario where removing a notification is reasonable would be when the state the notification is alerting the user to no long exists - the most obvious example being a low power notification which is removed when the user re-connects the AC supply.
That said, I recently added a new feature to the Clock+ extension. The feature allows for the display of the current time and date when the user holds the TAB key down, or moves the mouse pointer to a certain screen corner. The notification is only on-screen for as long as the key is held/mouse is in the screen corner (or until it times out) so it must be programmatically hidden when the key is released/mouse exits - step forward the hide action...
So, in conclusion, the hide action is a Bad Thing but, like many things that are bad for you, when used in moderation and with good reasoning, it can be a Good Thing. Almost.