Lesson 0. You are not a child anymore with your mother nagging you to clean your room. If something is doing no harm, don't delete it.
There's a reductio ad absurdum open in the room-cleaning premise. I could write a million lines of code that don't do any measurable harm -- calling a no-op -- and by your standard they ought not be removed. Not doing any harm isn't the same as actively contributing value, which is what most people want their codebase to do.
- real costs - database storage, blob storage, (minor) perf impact
- hidden costs - tougher to create test environments that look like production if production is so large, but largely invisible / unusable.