DLL's serve a number of purposes ... one, you might not have the original source code. For example, I use the FMOD library for sound in the Remake engine; unless you're willing to pay for it, DLL's is all you get.
Secondly, it DOES make updating programs easier and smaller. For example, have you noticed that a lot of programs written in VC (Visual C++) are really small - less than 100KB? That's because they use the VC DLL's to do a lot of stuff, which just about everyone has. Same applies to VB programs. You *can* do it with Delphi, but not everyone has the Delphi libraries, plus there are reasons not to (you can patch the libraries yourself, for a start).
Also, updating is better for another reason; say FMOD releases a new version that supports your super new sound card. Even if the person who wrote their original program (that uses FMOD) isn't updating anymore, you can still use the newer FMOD version since it's in a separate DLL...at least, you can try it.
DLL's *are* a good idea. Not all the time, but they do have nice advantages.