All of this is true. I guess when I say reliability, I mean the extent to which a user or developer mistake or bug causes the system to fall over.
Specifically talking about the database design. Say someone made a typo in the column name. The database would happily autovivify a new column for them. Same as in Perl if you make a typo in a hash key. A new entry is created.
For some applications, such as prototypes or small systems, or simply systems that don't matter that much or have short lifetimes - this is an acceptable and reasonable tradeoff.