For example, the inherent unsafety of many C operations and a long list of undefined behaviors in the language, which was meant to improve compile times on long forgotten processors whose performance would no longer suffice to manage a LED lightbulb.
At least we can slowly displace C with other languages, but those limitations were already obsolete in the early 1990s, and we are still wading through countless CVEs caused by them.
There are certainly decisions that have been made over the last 30 years that don't make sense in light of today's storage/power/ubiquity-of-connection that are just incumbent now.