vvis - horrible requirements on boxing out map spaces limits how you can design maps tremendously, terrible parameters for occlusion that essentially grabs your performance or compiling times by the balls and drags them to the ground.
Absolute garbage map previews for lighting.
extremely limited control over how character movement works. Essentially you're always locked into a static box with no organic qualities, but can switch states very rigidly.
god awful netcode seriously limits what kind of combat you can make in a game, if you aren't doing hitscan bullets, don't even fucking bother doing anything considering the engine is hard coded to use bounding boxes (the box that determines where your actor is in the world) for projectile hit detection. It's possible to use hit scan but essentially you risk a damage value being multiplied by 10 times what you want if that's how you go about it. Plus it's inaccurate as fuck.
displacements - lol. trisoup is much better for brush based geometry and actually supports occlusion unlike fucking displacements.
light map baking is a fucking joke, god forbid you involve displacements then you're heading down some dark fucking territory.
hacky vmf format is essentially the same as goldsrc's except with slightly updated code for func_details and fucking displacements holy shit fuck displacements
I can go on, but needless to say, Valve's fork of the original Q1/Q2 engine code has been so far bastardized it's hard to even compare it. While modern quake designers have moved onto brilliant software sets like trenchbroom, which fully embraces the BSP2 format, Valve is stuck using a hacky q2 bsp map format slightly updated around 2002 (check those fucking binary compile dates lmao.)
I actually like Unity quite a bit after seeing some of the things Japanese devs have done with it, but they're quick to adapt to new tech, and now what they're doing with UE4 has me down right thrilled.
The only thing I like about source is how fast it is to box out concepts. Even then, it's pretty inefficient at it, and you can just use trenchbroom now to get far better results, take raw BSP data, compile with HammUEr and test in a far better engine. Unity also has raw BSP tools and can produce similar results. I don't like how new engines are so reliant on prefabs, but whatever.