I recently saw a news story that claimed apps running upside down on a phone is taboo. It left me wondering how many people think these are just capricious and seemingly irrational choices and not instead design discussions. Ones often made after seeing the problems upside down apps can cause on a phone.
Think about your phone. At the top is a speaker so you can hear who you are speaking to and at the bottom is a microphone to pick up your own voice. If the phone is upside down your ear won't be near the speaker and the microphone will be too far away to properly pick up your voice. Today phones are mainly just a large screen. When you get a call, a quick glance won't be enough to know if the phone is the right way up. If the phone app is upside down, you can now answer the call and it might take some time to realise why the other person sounds so faint and why they cannot hear you.
You could suggest that in this case the phone app always launches the right way up. Here you get a new problem. Lets say you are writing a text message, but with the phone upside down. You get a call and now see the phone view is to you the wrong way up. You now have to rotate the whole phone to properly view it. It isn't a huge deal, but it is not pleasant. You try and avoid forcing the user to rotate the phone as they use it. This is why if an app does run in landscape, all of its views will also work in landscape. You don't want to have the user press a button in an app and then be forced to keep changing the phone between landscape and portrait. Both these issues go away if you disallow apps from running upside down.
Another related issue is why some apps on a phone only run in portrait. At least for the phone app itself there is a clear reason. You normally start or answer a call with the phone held in portrait. But once held to your ear, as seen above, the phone is closer to the landscape position. If you then need to check some info and find your app had now in landscape, it is disorientating. Most people don't realise the phone had been held at an angle during the call. It can be stressful enough talking to someone and trying to check some data. So this kind of confusion is something designers opt to cut out by just having the app run in portrait.
So there you have why it is advised to not allow your app to run upside down and also why its not alway preferable for an app to be usable in landscape. There are good exceptions. It is also why on a tablet without phone hardware, these problems go away and all apps do indeed run in any orientation.