Applications have bad habits.
They cache network addresses when they should be caching names.
nice theory. the fact is that names are imprecise; they're not always
bound to what we think they're bound to, there's no way to tell what
they're bound to, and the bindings are subject to change. and DNS
in particular can be slow and unreliable.
in short- you can lose by storing names in your application just as
easily as you can lose by storing IP addresses in your application.
anytime you do either one, you're making assumptions about the bindings
of those names or addresses with hosts that are subject to change,
often by factors outside your control.