I wouldn't say it's because of the flaws. It's because of the design: regardless of how well search works, the top hit is always an ad. At best, even with search working perfectly, a search for your own app would return your app as the #2 hit at highest. The search ad system still incentivizes developers to buy ads for searches of their own app, if only as a defensive measure to prevent other developers from inserting their apps at the #1 spot. And Apple makes money, and you pay money, if App Store users click on your own ad for your own app at the #1 spot rather than the "free" search result at the #2 spot.
Oh yeah, and you can't block App Store search ads with an ad blocker. Consider how the App Store is entirely native and has no web-based purchases or downloads.