In order to understand these two concepts, let’s take a look at the limitations involved with IPv4.
When you have a large enterprise network, you have a lot of IPv4 addresses to manage. What happens if you need to change your whole IPv4 address ranges? You will have to either go into each host and change it, if static addressing is used, or go into your DHCP server and change the assignments. This however does cause problems with routing and with any applications that use these particular addresses.
With IPv6 it is easy to renumber the whole enterprise’s addressing scheme (assuming you are using stateless autoconfiguration, which is best practice for IPv6), simply by changing the prefix you’re using. This can be done on the routers serving the particular subnets, and all hosts will immediately follow suit. There is no need for additional changes to routing or to other applications using particular IP addresses since all these will be changed simultaneously.
Concerning mobility, when you use IPv4 networks, if you were to change between one WiFi network to another, or between one mobile telephony data network to another, your device will renegotiate connection and will be assigned a new IPv4 address. This can be disruptive especially for services such as VoIP or video telephony. This may also require a re-logging into particular services when network elements such as the IP address change. IPv6 allows a mobile device, as it moves from wireless network to wireless network, to retain its original IPv6 address, eliminating the need for renegotiation or re-logging in.
If you do a search, using your favourite search engine, for “IPv6 mobility” or “IPv6 renumbering” you will find additional useful information on these features of IPv6.
I hope this has been helpful!