The house painting analogy fails because in software development, you only have a vague idea of how big the "house" is.
No painter would give an estimate for painting a house, sight unseen, with only vague descriptors. But yet that's exactly what fixed-bid contracting is for software development.