All complex projects will have technical debt. I can understand that sometimes you need to get something out of the door to make money. However rushing things will always be at a cost. Personally I like to see how technical debt on long-term projects are dealed with, it can tell alot how serious a company is about quality > features, how projects are planned and managed.
For hardware this is much harder. There will always be some technical debt, but it ought to be a lot smaller. Once the hardware is made and shipped, it should be done. You can't ask a customer to open the machine and solder in a 2.2k 0603 resistor between IC201 pin 7 and IC305 pin 3. Sending a patch cable (if possible at all) costs money, requires updated instruction manuals, testing, etc. So it's absolutely crucial to make up your mind before drawing a schematic, let alone a board. And test it. Can't second guess stuff.
Unfortunately I've inherited some electronic projects done by engineers that moved on to sales positions later. That showed in the lack of (functional) I/O protection circuits, lack of adhering to datasheet absolute maximum specifications (especially long-term stuff, fun to track down), discrepancies in schematic/PCB/BOM, no documentation, no version control, etc. When work needed to be done, in most cases my answer was "scrap it and start over".
Luckily at that time we had switched from Eagle to Altium Designer, which meant: "you could import Eagle projects into Altium 14.3, but the crapiness of those Eagle project drawings aren't magically fixed. To fix that starting from scratch doesn't take significantly longer".
Note that these were only moderately complex PCBs, like 4-6 layers, QFP's and analog bits and pieces.
It was still very frustrating. Because I can't change anything significant without a lot of visible consequences. Change pin-out or digital chips of micro? Needs firmware changes to identify between 2 hardware revisions. Change pin-out of connector? Nope, for some boards we had 20 kit cables, that won't happen.