Is there any advantage that Im missing apart from the speed?
It is less important than in the old days but memory usage was an issue so you used the smallest numeric type that offered the range of values needed. Also in the old days floating point ops were either done in software or in slower (than integer ops) hardware and as the machines were much slower overall performance suffered so you used integer working wherever possible.
Incidentally the main advantage that early supercomputers had came from their ability to do multiple floating point operations in parallel, known as vector processing. They were not necessarily much faster per se than ordinary (scalar processing) mainframes but had an architecture better suited to number crunching.
Types also offer code safety, especially if you can declare you own types. You cannot then assign an apple to an orange. This is less important coding by yourself but more important when working as part of a team. Also you can only do operations on a type that are supported by that type, so you can't add Booleans for example.
I am an advocate of strong typing (as long as a way round it exists when required!) but then I am also weird in that I dislike operator precedence and like to parenthesise my expressions so that they don't rely on it!