Between extremes of GUI presenting all functions at once and accessing all functions through memorized keyboard shortcuts, there must lay large lands of possible, experimental GUIs which unfortunately never get tested in popular software (which defaults to sub-menus + some keyboard access). I mean zoomable UIs, radial menus, 3d concepts in UIs,... - it's hard to see any of research on experimental interfaces make way into actual everyday-use apps.
Every standard GUI element could be thought over. Once I worked with some standard accounting software, where I needed to select some stuff many times during the day from a dropdown. I quickly learnt how to move content from a dropdown menus into a spreadsheet with some formulas which allowed me to paste selection I needed back into these dropdowns 10 times faster. When I was leaving this temp gig I showed this solution to some guy in accounting, whose life was basically opening these dropdowns all day long. Regardless that he was really mean guy, I showed him the trick. He almost had tears in his eyes seeing it. I am not counting muscles strain avoided... Multiply by thousands of users everyday...
Not to mention trying to integrate interoperability of apps within the OS (e.g. to have one program to check for spelling in all apps, across the OS - I cant remember name of one such fine try (ages before)).
As per PS, have you ever tried to really personalize PS UI to your liking? I remember friends getting really opinionated on positioning all those menus perfectly for themselves (and for a reason). Personally I feel like PS is very intuitive for me, whereas in similar apps I cant do simple things, but it's probably because I was kindly shown around.