In general, the process is understandable after going through it once or twice.
Sometimes, the relationship between platforms and the app is confusing. Specifically, if I submit both a Windows and an OSX version of my app, and one passes testing and the other doesn't, then customers on one platform have a different version than customers on the other platform. On the one hand I understand the benefit of getting the latest version out to people as quickly as possible, but on the other hand, if I'm pairing two platforms together I would like the option to be consistent with the version that is available cross-platform. I realize this might not apply to other devs especially if they don't synchronize their version numbers or features of an app across platforms.