Aside from the aforementioned window-management gaffes, here's what I think is the most ridiculous design defect of the iPhone, which I reported first as an engineer there and repeatedly as an independent dev: It does not provide audible notifications of MISSED CALLS. I mean... WTF? A 1990s StarTAC (and probably most other phones) provided this obvious feature. So did 1980s answering machines. My 1992 microwave beeps if I forget to take the food out. But Apple's handheld Unix computer-phone remains silent if you happen to miss a call while you're in the shower, or down the hall doing laundry, or watching a noisy movie. If my parents have some kind of emergency, they're going to CALL ME. But Apple doesn't think that's important.
That was the first bug I filed against the iPhone, probably on the day we were given them (the day of release). FIFTEEN YEARS LATER, it's still not fixed. But what did Apple petulantly do instead? Add repeating notifications to TEXTS... but leave that option off of the essentially identical settings screen for the Phone app.
That is Apple refusing to do something, to the detriment of all customers. I was not the only person to file this bug; I checked Radar (Apple's bug-tracking system). So it's not as if they haven't heard the complaint. You can also find plenty of references to it in a general Web search.
When Apple finally allowed developers to write real applications, I expected that problem to be addressed quickly (by me or someone else). But NOPE; developers can't access telephony functions.