The practical answer is - Wordpress is written in a MySQL-specific way. It doesn't officially support, say, Postgres or Oracle either.
Which probably isn't true.
SQLite is bad at concurrent writes. Your average wordpress install is almost only reads. And with 3.7.0's WAL, readers and writers don't block one another anymore.
Could you reasonably write blogging software that uses SQLite? Sure. It's just that Wordpress isn't that blogging software - it's written to be paired with MySQL, for good or ill.
SQLite can be ran in two modes 1) database reader/writer lock or 2) in WAL mode[2] where readers do not block writers and writers do not block readers. Writers block each other though so there can only be one concurrent writer. WAL mode provides concurrency superior to what MyISAM did.
1. The locks could sometimes be bypassed by inserts, but not reliably so.
2. http://www.sqlite.org/wal.htmlBut if you really need a particular table to be writable without locking the rest of the database, it's probably a fairly decent workaround.
Wordpress-the-base-install has a thin abstraction layer over the database in the $wpdb object.
But plugins and themes can, and regularly do, use PHP's MySQL functions to access and manipulate the DB directly.
(That's the official WP line anyway, I'd love Postgres support myself.)