I once saw a PowerPoint created to explain how shit an inherited codebase was. Lots of stuff you mentioned, duplicated methods, breaking abstraction layers all over the place, stuff like that. I felt bad for the original owners being called out like that, but they also kinda deserved it lol