What is the difference between link-local address and global link address in ISATAP?
For example:
link-local address: fe80::5efe:c000:0201
global address: 3ffe:b00:1:2::5efe:c000:0201
Why don't we use just one address? Why it is helpful to use both?
Any IPv6 adapter should always have two IP addresses if you're using it for internet traffic - your link-local address and your global address.
Your global address is world-routable, so anyone anywhere in the world can see that IP address (although of course, there should be a firewall between you and them to stop them from actually accessing you).
Your link-local address is just for your local area network. Consider it the equivalent of a 192.168.0.1 or 10.1.1.1 address. They are not routable, and can be used for internal communications, so that if your world-routable prefix changes, you don't have to update all your IP references to internal IP addresses.
The only functional difference is that your link-local address is not routable, and your global address must be routable. There are issues where non-routable global addresses have been allocated (via DHCPv6) for whatever reason, your computer THINKS it has a routable IPv6 address when it doesn't, and then all your IPv6 connectivity breaks.
I also notice that your global IP address has been assigned manually with a dot-decimal address, which makes me wonder if your IPv6 network is configured correctly as it's obviously not using auto-config with RA announcements)