A poorly designed database can make your life hell as a dev while optimizing an app. On the other hand, A good design can speedup your development process along with the performance of the app.
Some of you may still surprise, why the callback function for WP_Ajax returning an additional 0 or something else which is very unwanted at the end of your own response.
Actually using Ajax directly into your plugin or theme is a little immature way. Cause you'll have to keep track of your files to make it work, which sometime become difficult. That's where WP_Ajax make things comfortable.