It's "normal", meaning it's the launcher fault.
When you get stuck, don't just close the launcher, open your task manager and kill the process (javaw if you use Windows). If there are 2 processes with the same name, kill both (one is the launcher, the other is the game that failed to load).
After that, restart the launcher and as soon as you can click on "play offline", then let it update/load.
The launcher process really loves to remain in the background even if you choose to close it while playing(blame Mojang, not Java) and sometimes it gets stuck even after showing that the update is finished.
PS:
The problems with the launcher aren't anything new, it's been like that (ghost process, lack of real tools, crash reports basically useless) since they changed it in 1.6 and I find amusing that each time a few users raise a red flag due to a really annoying problem, it takes 3+ versions to make them realize that the problem actually exist.