The cache is implementation defined.
The locking is implementation defined.
The index does not work on foreign keys.
The planner isn't thread safe.
The only reasons for 90% of use cases to use sqlite are that it can be embedded and it has an sql parser.
In a major application written by a company with an actual software engineering department, you would use Postgres or MySQL.