If I have a game on Xbox One and I buy an Xbox One S (still using same Microsoft account as on my Xbox One), can I keep my games or do I have to rebuy them on the new console?
Digitally purchased Xbox One games are bound to the account, so as long as you keep using the same Microsoft account to connect to Live, you won't have to buy the same games again. You will need to download them again, however.
As for physically purchased games, you simply need to put the disk in the new console and wait for the installation to finish. Again, no need to re-buy the games.
Your save games will also automatically sync over from your old console to the new one, so you won't have to restart the games either.