Impartial foreigner here who has no stake in the old or new spelling. If you're combining ship and port, you can't just write shiport. Of course it's shiff-fahrt / shifffahrt? By what logic does anyone argue anything else?
Once upon a time we used to write by hand. It was considered time consuming.
Once upon a time we used to set books in lead letters. There were ligatures, where two consecutive letters hat a special spacing - like "fi" or "sz". If we allowed three consecutive letters, we would need to invent new ligatures.
It is probably easier/cheaper to just forbid the spelling.
First of all, it was probably a descriptivist move. What I think happened is that people wrote 'ff' because 'fff' looked like a typo or was less convenient to write, so the linguistics codified that.
Also, there are portmanteau words where the middle letters overlap, e.g. bro+romance=bromance.