A company I worked for never bought us computers to develop on. Instead we were loaned computers bought in specifically for each project, and owned by the client. This meant every time you moved from one project to the other, you had to spend a day building, installing and configuring a computer to work on. This included swapping in and out hardware cards, connecting to the right network/server, attaching second monitor, installing your IDE, compiler from floppies, etc etc.
We got moved between projects a lot, as development cycles scaled up and down the number of bodies needed. And every time it we wasted days running about trying to get a functioning computer. Inevitably it meant that some computers ended up getting used on the wrong projects, simply to save the time and effort. This in turn meant running around swapping, hiding or reclaiming kit when clients visited, expecting to see their kit in use on their project.
The developer time wasted would have easily covered buying proper, permanent development machines.