- consuming time and attention from people who help them
- time spend checking and fixing their work
- additional maintenance costs from poorly thought out solutions
- time spent reproducing and fixing bugs
- lowering morale of better engineers
- creating whatever the opposite of “a culture of excellence” is
- consuming management time in performance management
- inability to interview or saying “yes” to even worse hires
As other posters said, if you get a bad hire (or even mediocre hire), it might be total negative - both because of negative contributions, but also because maybe the management only gave you one spot, and now you've given it to mediocre person, you no longer have a chance to giving to someone better.
Back when I was at a startup, we've were looking for the new people basically constantly. Very few people applied however (we were C++, not web, and in the constrained system...) and even fewer people passed, so we ended up with 1-2 people per year total.