elpa is good, but, since it's not exactly a standard, there aren't many packages available through it. Having a standard package manager in the emacs distribution would go a long way toward solving this problem, since people could be encouraged to package their .el files using it.
ELPA appears to be the one that they're going to merge into Emacs 24 (see comment about Tromey et al, and know that Tromey is the main guy behind ELPA...).