Something that I've written about a lot...yesterday I looked at it from the testing angle:
http://openmymind.net/2012/4/24/I-Rather-Have-Silly-Tests-Th...
It essentially comes down to less code. Some of that is simply less language clutter:
public virtual void Add(int a, int b) { }
vs
def add(a, b) end
Some of it is just what's possible due to dynamic languages, whether that's because of the type system, or, more likely, meta programming.
The benefit of meta programming compounds itself through libraries too. So not only is my code able to leverage it, but I can use libaries that leverage it and end up with User.find_by_name("leto") (as a classic, but certainly not singular, example)