The difference is subtle. The perfect is more often used on forms. It has a sense of asking for a fact, rather than for a continuing experience. In many situations, either can be used and interpreted the same way.
How long have you lived at your present address? (fact)
She has been living in the city for five years and loving every minute of it. (experience not completed yet