even the best of us do stupid things sometimes
And maybe it wasn't 'no additional effort' because they were more confident with quickly writing a bubble sort.
It also could have been apathy: knowing there was a better solution and just not caring what was implemented. I feel like this is more common than incompetence, especially in larger projects or organizations. Nature tends to take the path of least resistance.
Not if it was already written.
I don't know anything about this particular codebase, but one thing I have learned over the years is that when you are tempted to say "such and such decision was stupid" in a production codebase, you are almost always missing something.
Of course there are valid values below that...
If they were designing to a collection size of N -> ∞ then they shouldn't have used Insertion Sort either then, because it is O(n²) in the worst case.
It's trivial to start with something that gets human input and someone, somewhere, decides to plug the thing into something else that generates that input.
And we all know that if computers are good at something, it's doing a lot of small things millions of times.
Besides there's little reason for any codebase of any kind of ever contain bubble sort (except for an academic one, showing it as an example of a bad one). We're talking 20 years ago, not 2000 years ago, the basic sorting algorithms were pretty well researched and established by then.