If you send a text and your carrier accepts it, it will be stored until it can be forwarded.
If you are in a bad area or your phone is switched off, the texts will remain on your carrier's system queue until your phone next "pings" the network. At that time you will get any missed texts or voice mails that came in while you were out of coverage.
My comments above regarding texts apply to SMS messaging only. The situation is a bit more complicated for iMessage (Apple only) and I see no reason to complicate things.
If you have some kind of obsolete cell then anything could happen. If you have a flaky carrier then anything could happen.
Here is some sensible advice to determine if your cellphone is obsolete. If you can fold it in half without breaking it, it's obsolete!
However I think in most cases "I didn't get your VM or text" is social lying, the other person didn't want to admit they were ignoring you or didn't feel like replying at the time. (How many of us have received texts we wanted to think over before replying?)
iPhone owners: I suggest you turn off message receipts. (Open up Settings. Scroll down to Messages. Either toggle Send Read Receipts on or off depending on what you prefer.) It's much more convenient when you get a text and would like to think it over before replying. Your iPhone comes with a default "read receipts enabled." If you do this the sender will see "received" but it won't say "read" even if you read it.
And a final note: This is technology and nothing can go wrong, go wrong, go wrong... Few if any technological systems work perfectly, and it's possible for a single text to go astray here and there, but extremely unlikely (as long as both parties are in US*). If somebody says they didn't get your text IMO your chances are 1000:1 that they are telling a social lie.
* My answers apply to US/Canada only. AFAIK SMS text does not work to/from US/CA unless both parties are in the area. I have to use WhatsApp to text my international friends/family.