Für den Lambda-Ausdruck spricht meiner Meinung, dass er etwas kürzer ist und Lambda-Ausdrücke durchgänging anonyme Methoden ersetzen würden. Für die anonyme Methode und gegen den Lambda-Ausdruck spricht, dass keine Syntax der funktionalen Programmierung verwendet werden sollte, um eine der funktionalen Programmierung fremde parameterlose Methode ohne Rückgabewert (Ja, MessageBox.Show() hat einen Rückgabewert.) aufzurufen.
Lambdas sparen Code gegenüber delegate-Funktionen (kein delegate-Schlüsselwort, keine geschweiften Klammern und Semikolon bei Ausdrucks-Lambdas erforderlich):
var prädikat = lambda => erhöhteLesbarkeit(lambda);