... just take a texture and build its features into brushes.
It's inspiring, it gives you ideas. Example: I took the Uncreation textures and toyed with them. There is for example a floor tile texture (see screenshots). I extruded the stones by adding brushes on top of them which used the same texture. Manual bumpmapping, so to speak. (Don't forget to set them to detail instead of structural.)
Don't be afraid of working with a real high resolution grid. The mentioned example is the best way to learn to live with that. Just set the grid resolution to very high and then drag and scale your added stones around till they seem in the right place. One of the screenshots shows structures that were built using a gridsize of 0.25 world units, even diagonally.
Just create an element that you can use many times (like a light fixture) in a very detailed fashion, then select all of its brushes, rightclick in the 2d view, click "func_group". From now on, it's easy to select all brushes of this thing - because it has become an entity. Just select one brush and then "expand selection to whole entities" in the edit menu. Now it is easy instead of a pain in the ass to handle those very complex thingies you made.
"But it's so much work!" - Not really. Do you make the map to be admired, so you just want to get it finished quickly, so you can get the next shot of people saying "cool!1"? Or do you make it for the fun of making it? If you do the latter, you dwell in the moment. And the moment is eternity.