I've released more than 20 apps to the App Store over the years. I've read a lot of horror stories about App Review mostly from indie developers. What is to believe?
The unfortunate truth is that app review is random, too random.
The good parts
No matter how much testing you do, bugs always find a way to escape, until somebody else uses your app. App Review does a great job giving you a crash report if for some reason your app crashes at any point during the review. Needless to say, it will get rejected if it crashes. That's great, your customers won't have to deal with those nasty crashes and you won't need to use your expedited review slot to fix them. On top of that, you get a crash report that pinpoints exactly where the crash happened.
That is unless when they forget to attach the crash logs. It happened once for me "Here are your logs: BLANK PAGE". Although after replying to them, they were quick to provide them.
The biggest issue back in the day was review time. This is huge on Mac since I also sell my apps directly and they always get bug fixes (including critical fixes) 7+ days before AppStore customers. Luckily this has now been addressed with review times being consistently less than a day (at times mere hours).
The bad parts
And now onto the bad ones…
I've got my share of emails from Apple saying that 'Your app has been rejected' and it's enraging every time. When it's actually a problem with the app or a bug receiving a rejection is great. They notice the problem before it ships to customers and they give you the chance to fix it.
From my experience, most of the times are problems with the individual reviewer interpretation of Apple review guidelines or just plain wrong assumptions. They always get it fixed (if you're in the right) once you dispute the rejection. It is a hassle to go through the dispute process and the delay that it causes to your launch. It is often quicker to accept the rejection and just resubmit while trying to fix whatever you think was the specific thing that got your app rejected, at the same time hoping to get a different person to review it. The problem is that it is often hard to pinpoint since you don't get a straight answer back, but just generic references to the specific broad point of the Apple Review Guidelines that according to the reviewer you did not follow.
Each time this happens I feel like Apple Review has failed. If the only meter between your app getting approved or rejected is what specific individual is reviewing the app we're completely off course.
I often have to submit the app for review weeks in advance just to make sure that it will get through review in time.
Overall having an actual review process has its ups and downs, but it is still better than not having it at all.
It acts as a first shield between you and your customers and has saved most developer's from shipping problematic updates a lot of times. That alone is worth it.
On the other hand it causes a lot of unnecessary hassles for developers. The decision if an app should be approved or rejected needs to be given with clear reasons and instructions on what to do to fix the issue and not just copying and pasting the relevant section of the guidelines.