Loading on demand is a vast improvement over loading everything up front, though. Loading on demand means you never pay the price for functionality that isn't used, and if your load time is divided into little pieces, it's far more likely to slip into spaces where the user is otherwise preoccupied, thus becoming essentially free. Lazy loading is a way to truly reduce loading time, not just a way to hide it as you seem to imply.
Well, lazy loading is a way to hide loading time. But I didn't mean that lazy loading is bad since I think it is rather underutilized in desktop applications. Taking Photoshop as an example, I would explore the means to get the basic app up and running providing basic tools then load the rest in the background not waiting for demand. Loading on demand is nice as long as it can be done quickly. There's nothing worse than having the app loaded, click on a menu item, and then have to wait for that feature to load.
I think loading on demand is a vast improvement in some instances. For something like Photoshop, I'd gladly pay the initial 10 seconds for a more responsive interface. Photoshop is already slow, imagine dynamically loading resources on top of its usual sluggishness.