story
It's the best they can do. Windows carries a lot of baggage and bad decisions around its OS design. One of them is that when a file has an exclusive lock (eg an .exe file that's running) it can't be deleted. NTFS and Windows Kernel don't implement reference counting like a proper OS.
So Firefox (or any software package with in-place self-update functionality) needs to wait until the application is shut down to perform updates. Firefox team chose to do it before launching the app. They could have done it after closing it. Both approaches have their pros and cons so it's not easy to criticize them either way.