What stops an internet router from sniffing my traffic?
Packets travel through internetworks, and take many routes through internet routers. On each route that forwards traffic to another until reaching the ultimate destination, what stops them from viewing the packets they receive/forward?
Short answer : you can't prevent them from sniffing your traffic, but you can make it meaningless for them by using encryption.
Either use encrypted protocols (HTTPS, SSH, SMTP/TLS, POP/TLS, etc.) or use encrypted tunnels to encapsulate your unencrypted protocols.
For example, if you use HTTPS instead of HTTP, the content of the webpages you fetch will not be readable from those routers.
But remember that they can still save the encrypted packets and try to decrypt them. Decryption is never about "can or can't", it's about "How much time does it take". So use ciphers and key lengths suitable for the degree of privacy you need, and the "expiration time" of the data you want to "hide". (meaning if you don't care if someone gets it a week after the transmission, use a strong protocol. If it's an hour, you can lower the key length)
Nothing.
Every hop between your computer and the server you are accessing can read the packets you are transmitting and receiving.
You can however encrypt them, so they will be meaningless to any eavesdroppers.