4-3 is a better defense for setting the edge in the run game and attacking the QB. People talk about not knowing where the 4th rusheer is coming from in the 3-4 but in the 4-3 if you teach your DL to run stunts you can confuse the O-line just as well. That is the biggest difference I see from our DL. in the 1990's and early 2000's our DL ran a ton of stunts. Sometimes this backfired but more often it kept the opponents O-line off balance and kept our LBers clean. Now a days all we see is bullrushes and gap control.
Not knowing where the 4th rusher is coming from is more problematic for an offense. The QB and OL are calling their protection based on the 4th rusher. If they wrongly identify the 4th rusher then they will often leave that player unblocked or he'll be matched up against the RB. Also, the OL doesn't know which way the D-line is going cause they're assigned head-up.
Ask any OL coach or any O-lineman what's harder to face, 4-3 (even front) or 3-4 (odd front), and he'll tell you 3-4.