What Casio23 said about luxrender is true, because luxrender is essentially a shortcut for good lighting and materials.
Lux is essentially the closest you can get to the perfect render button.
If you don’t want to use luxrender, however, you need to work on the lighting and materials.
If this is based off a real bathroom, that shouldn’t be hard at all. Try using area lamps where suitable, like a ceiling fixture, and point lamps for bare bulbs, like what might be over the sink.
For the faucet, the material should be 100% raymirror reflective, no diffuse. If it has a brushed finish, use glossy reflections + a normal map to achieve that.
The sink should be brighter, probably blown out, because it’s the only white object. (besides the outlet, anyway)
The towel needs more large scale wrinkles/rumpling, and more body and/or thickness.
The mirror should be pulled out from the wall just a bit so that it catches the shadows and AO, which will give it the appearance of depth that it lacks right now.
The towel holder needs a base, instead of just sticking into the wall.
The countertop: Try ditching the glossy reflections, and using sharp reflections instead. You might want to make a scratch texture and set it to subtract from the reflection. See if you can’t find a better granite texture, also; the one you have looks to be low resolution and blurry.
You might want to ditch specularity entirely, and use emitting meshes behind the lamps.
The composition is kind of boring, but then again, a sink isn’t very interesting.
RadScientist was talking about GFCI outlets, BTW. Not surge protectors.
I did a little tweaking/paintover; I hope you don’t mind.