"Mama, why does image processing software have fixed-sized pictures?"
The spiritual answer: "Because the universe is finite."
The autopoietic answer: "Because all common image file formats read by the programs have finite sizes." "But mama, why do the file formats have fixed sizes?" "Because the programs write them that way."
The software developer answer: "Because the level of complexity would have overwhelmed most developers, tools and machines 35 years ago."
The historical answer: "Because it's been that way forever, we are locked in with a huge user base that would complain about any drastic conceptual change, and the old file formats we deal with don't support it anyway."
The cost/benefit answer: "Because it is still much simpler, even today."
The skeuomorphic answer: "Because the mental model at the time of inception was that of a physical rectangular picture on a canvas."
The utilitarian answer: "Because it fits the use cases. Do you even know where the "Enlarge Canvas" menu entry is?"
The pragmatic answer: "Because the world is imperfect."
The user interface answer: "The model is not only simple to implement, it is also intelligible to any 4 year old and my grandpa."
The border condition answer: "Because the first machines that came with image processing had less than a MB of memory (which ought to be enough for everybody), so the data structures, the code and the files had to be quite small. Continue reading under 'historical answer'".