Also apps do get updated, and when they do they sometimes grow by almost a 100 MB. Repeat that X times, and the RAM on the phone turns out to be insufficient for larger apps of the new now.
I mean even a $50 phone today is extremely powerful for its price, but developers have no consideration for mobile constraints (then blame web techs...).
I've also noticed that low-end android phones tend cheap out on storage since most people only care about the size of storage not the speed.
Cache. Phones have limited storage, but they're also limited by bandwidth, latency and power. If the Facebook app did no caching it'd run slower, consume more battery and eat up the data allowance of people on limited plans.
Then again, many companies will probably just give up without even trying.