look, you have 2 karts driving next to each other. because of network problems you are not getting updates from your opponents kart. in reality on the server he is ahead of you. but because you didnt get updates he is right next to you and blocks your way to drive right. because all your games driving logic is done locally you cant use a shortcut on the right because its blocked on your machine. whereas in reality on the server you would be able to because your opponent didnt block your way.

what happens if a hacked client just says i am moving there, nothing is there? with all game logic at the server he couldnt because you would do checking for that on the server only. what happens if both of your cars say, i want to move there? who gets the right to move there? the one wich is sending first? this probably gives advantage for people with good internet connection.

so its a bad way sending the results of game logic to the server. for client server architecture a general rule is keep all! the game logic including movement at the server.

just have a look at gamedev.net forums for example there are tons of threads like this. i may give only poor examples because iam not very good explaining things like this in english altough i try my best i hope you understand what i mean?