Question: Are there any differences between Pokémon Sun & Moon? Obviously there are changes in the Pokémon you can catch in either version as well as the legendaries, so including those are there also additional changes such as NPC changes, areas you can visit, specific mechanics?

Answer: 
In terms of gameplay, the difference is that whilst playing Pokémon Sun, the in-game weather will be day, during real life daytime. Playing Moon during the day however will have a night weather effect.

Before you buy one, you should conisder two things:
1. When you are going to be playing the game.
2. Which lighting you prefer, light/dark.

Hope this helps.
Apart from the specific pokémon and legendaries, the main difference is the shift in time. The time of the clock would be exactly the same as the in-game time in Pokémon Sun, while it is shifted by 12 hours (i.e., AM would turn to PM and vice versa) in Pokémon Moon.

Apart from that, there are other differences such as the different Totem pokémon and ally pokémon, and a specific pokémon has a different evolution depending on the game.