And landing and returning to home aren't really even that simple to us - hence so many people wanting automated assistance with them.
Return to home and controlled descend arent in the same league. Yes, return to home is fairly tricky to do well, otoh, using a baro, or if no baro is present, the Z-axis accelerometer, to find out if you are still flying or climbing, is not. Its way easier than keeping a multirotor stable. Im not talking about a nice, soft, landing. Im talking about a controlled descend, or if you prefer, controlled crash, which is what the current software does anyway. But something safer (and more elegant) than a predefined throttle setting that may cause nearly free fall or an ascend depending on whatever you happen to fly that day, and cutting the motors from whatever altitude.
On top of that, you can and probably should, put additional safeguards on the failsafe. It only takes like 3 lines of code to detect descend isnt working for whatever reason, and still cut the power if you arent losing ~x meter per second over the past Y seconds. Or if by some weird coincidence both the RF link and the baro went haywire, you can still decide to cut the throttle and tumble from the sky. Unfortunately Dominique prefers to write code for complex flashing patterns with RGB LED strips. Neat as they may be.
As for RTH; doing it right isnt that easy, I'll grant that; in general GPS navigation isnt, but please dont read from the countless Naza flyaways that those flyaways are that difficult to prevent. Im willing to bet that if you checked the code, you will see no sanity checks regarding distance to home (after reading perhaps 100 reports on RCG, Im quite confident its returning to 'home' in Ghana, ie 0°N 0°E, if it loses its GPS lock during RTH or home wasnt properly initialized) , closing speed (it should, but clearly doesnt stop trying if home isnt getting any closer, due to compass or other issues) etc; if they where in there, Im am very confident they would stop the RTH attempt with flaky GPS reception or non initialized home position, compass issues or even most malfunctions, and revert to an autoland (/crash) instead. And gone would be 99.9% of the countless reports of phantom/naza flyaways. But the naza doesnt do that, any of it, because no one at DJI apparently bothered to put in those safeguards.
And thats irony; they have figured out the difficult part. It does fly pretty well, its GPS position hold and navigation is impressive, at least as long as everything is working as expected. Figuring out things are going wrong for whatever reason, and taking the decision to do a controlled crash landing, by comparison is so much easier. And descending using a baro is trivial.