I am a little confused about the username thing. I would expect the username to be the name I log in with. I think it's safe to say most people would guess that. Why is it done this way? Instead you log in with your full name, strange. Also, why is it so hard to change, I mean I have to change directories just to change my name, and do it all from terminal.
That's exactly what it is used for.
Admittedly if you're a graphical user, you probably won't have to interact with it that often but coming in over the command line or SSH, you'll need it a lot more.
You seem to have answered the question in the question. Some directories include the name of their users to make finding them much easier for humans. They could use the UID (eg 1001) but this is pretty opaque.
Typically speaking, it's easier to create a new user and move all your stuff over, but you can change it.