I figured this out a while ago and I do it as a challenge - how can I incorrectly pass the test - probably there are more of us doing this than you estimate? We could be in the majority (unlikely I know)
I've just signed a contract to write a book and I get an advance and then 10% (goes up to 12/15% if more are sold).
One major reason is that I am more likely to finish it and get it done than if I rely on it myself.
Another reason is that I want to be known for one niche, this will help and if that works out then I could likely self-publish and keep more of the profit.
It is slightly more nuanced than I want as much cash as possible for this thing.
Publisher deadlines are both a blessing and a curse. I did the last book I wrote through a publisher. It was a concept I'd had bouncing around in my head for a while but hadn't made much progress on beyond a rough mental headline. When a publisher wanted to run with it, it forced me to focus on it--fortunately during a period when doing so wasn't too onerous.
On the other hand, I've had other periods when it would have been difficult.
The other thing with publishers is that you're now tied into publishing industry economics. So you can't typically write, say, 100 page book even if that's what you think is the best match for you and the subject. (This is probably the thing that would be most likely to keep me from using a publisher the next time.)
An advance is, just what it sounds, an advance payment on royalties. Publishing, unlike film/tv or music generally doesn't play games with royalties, so, if the book sells, once you've earned enough royalties to cover the advance you will get additional earnings.
This reminds me of a system I worked on, the devs all developed locally with all the services but in prod the services were on different hosts and the performance was terrible.
This reminds me of the system I worked on, the devs had promised a 3-tier system but delivered a 2-tier system so management had them add a middle layer and the performance was terrible.
This reminds me of the system I worked on, the devs decided a lockless architecture was the way for better performance but with the limited threads we had at the time, apart from the few people who kept hold of a thread until they were done, the performance was terrible.
This reminds me of the system I worked on, the database design was a serious bottleneck but no one wanted to fix that so the app tier tried to change their queries, the performance was terrible.
I don't know why people spend so much time optimizing the wrong thing - it happens over and over again!
Management not wanting to admit a large architectural problem, slapping a small bugfix/task on the board in the hope it will take less time before to (appear) fix before performance review.
I love this, find it fascinating but this isn't right:
"which is historically interesting only because it shows the direction Microsoft's product lines had shifted - suddenly NT was the line where new UI developments were being made and 9x was getting hand-me-downs."
win me was the breeding ground for things that made it into win 2003, things like sfc, msconfig etc - all the utilities went into me first and then to 2003.