As to why photos are limited in size, I have to assume that you have not used a forum where 16 and 20 mega pixel photos are posted in the text. Around ten or more years ago, the forum software and the photo hosting services did not limit the size and many people, not aware of the consequences of such large photos just uploaded them directly from the camera.
When such large photos were posted, most, actually ALL computer screens were just too small to display them in full so the viewer only saw a small part of the photo at one time. The viewer was forced to scroll left and right and up and down to see the entire photo but never all of it at once. In addition to that, those very large photos determined the horizontal width of the entire post. So, the text was also displayed just as wide as the photo and the reader had to continuously scroll left and right to read each and every line of text. It was a royal PITA and produced many complaints. Forum moderators sometimes took action against persons who posted those full size photos. I avoided reading them unless there was a very special reason to do so.
Somewhere along the line, the folks at vBulletin, who wrote the forum software added a feature that automatically reduced the size of the photos. And the image hosting services also took measures to do likewise, but not all of them did it the same way. IMHO, the above irritation of the users of the forums was more the reason for this, not storage space which has become so very cheap.
As to what can be done about it, the answer today is the same as it was back before the software automatically reduced the size of the displayed photos. Before you upload a photo for a post, on your computer REDUCE the horizontal size of that photo to 800 pixels or so. When you do that, the forum or image hosting software will not reduce it any further and it will display around full size or a little bit less on most computer screens.
It is easy to reduce the pixel size of any photo. I first create a copy of the photo on my hard drive or other storage location. Then I open that copy in Microsoft Paint. This can be done in the directory window by right clicking on the file name and choosing Open With / Paint. I click on Resize, then Pixels, then enter the value "800" in the horizontal box. The vertical size will change in proportion to the horizontal change and all will look proper. Then save it and you are ready to upload that reduced resolution copy.
I always do this before uploading a photo and they display in a nice size in both this forum and all the others that I use. Here's an example of a photo that was 16 mega pixels when it came from the camera.
This photo is hosted with this board's own image hosting. It was uploaded with a horizontal resolution of 800 pixels and I just copy the BB code under the image to past in my posts. I avoid those other image holting services that seem to want you to use reduced size "thumbnails" in your post. I find these thumbnails to be super irritating because they force you to go to another window to see the photo. When I am reading the text I want to have the photo IN THE TEXT and FULL SIZE. I don't want to be forced to go back and forth between different windows.
Besides, Photobucket showed us what happens when you use a separate image hosting site. They change their rules and all the posts that used those images that were hosted on Photobucket are no longer visible in the post. The images hosted by this BB's own software will be here as long as this BB is. It may not be completely as easy to use as some of the others, but it is permanent and free.
Some time ago I posted illustrated instructions for using the built in image hosting. It is not hard. A search should find that post.