Ok, you asked for it (so prepare for some minor criticism

):
EDGE: I can't find Doom in there anymore. So much has changed that I never bothered to understand it all.
Legacy: As I already said, somehow it all seems half-finished and unpolished. The ideas are certainly good but the execution often lacks to the extreme.
PrBoom: Up to version 2.2.4 this was basically MBF with a few changes here and there. I am not a big fan of Lee Killough's coding style so it certainly suffers in that regard but overall it's a solid piece of work.
Eternity: Overall the same as PrBoom but as it is still in development I won't comment on the stuff that has been added lately. It looks promising though. No shortcuts and half-baked solutions so far.
Doomsday: Hard to judge. The game code is virtually unaltered Doom and I never looked deep enough into the renderer. But what I have seen certainly looks like a solid piece of work although I personally find some design decisions (most importantly the DED format) somewhat questionable. (But that's only personal preference)
ZDoom: It's my favorite source code.

What I appreciate most is that most of the god-awful sloppy hacks that still plague most other source ports (e.g. door lock handling, the overlong thing tables) are gone for good. The only thing I don't like is the way various thing properties are handled through virtual functions and C++ subclasses (most importantly pickups) because it makes adding new stuff in the DECORATE lump more complicated.