I have seen this pattern very often in the last year: someone found a bug in a product and instantly wrote a twitter message with a #fail hashtag. Or even worse: wrote a bad rating for an iPhone app just saying : "Doesn't work. This is shit!".
As a user you usually want a good experience using a service. If it wasn't good for you, complain. It's your right to do so. And you should. As loud as you want. But if you do, please use a way that opens the possibility for the other side to answer your problems. If you rate an app in the iphone store, the vendor of that app can't reach you. Your complaint is lost. Never to be answered. Maybe the vendor needs some data from you to fix your issue. Or you just overlooked that important setting in the options pane. And please mention exactly what your problem is. "Doesn't work" just shows that you're a fucking idiot. And if the vendor helped you after you tweeted your problem, you should inform your followers that the issue is resolved. Be nice and thankful, don't behave like the grumpy old fuck from next door.
I had a lot of great chats with support people after sending a short mail and explaining what the problem was. And a lot of them took my complaint seriously and fixed the problems or showed me how to get what I wanted. Sometimes you even get stuff for being nice and helpful. Early Betas to test, some goodies or information about coming features.
You can still rate that app in two days and say that the customer support is awful. But at least you have more to write than "this is shit" .
And for god's sake don't use #fail for minor mistakes. I have seen a lot of "the button xy in that app is on the left, not on the right #fail"-kind of stuff in my twitter feed. That's not even close to be a #fail.