I can't seem to find any guidance (official or otherwise) on when to use the Number field type vs the Integer field type.
What are the main differences that I should be considerate of?
The main difference is, one stores an Integer and one stores any number, e.g.
There are a couple of caveats.
The decimal separator is different between countries. And Sitecore's default input validation will be based on the current locale of the Content Editor user. Which is fine if they all run Sitecore in "en", but more of a challenge if some run the editor in "da" for instance.
12.50 would be written as
Storage wise, everything is still a string - so the above is something you need to be aware of.
Also be aware that the default indexing (at least at some point) for the
Number field ended up in an integer via Sitecore ContentSearch. This may have been updated later, I don't know.