Lets say I make a racing game. Should users render all the vehicle body kit of other players on their own client? or should I just leave it and let the server render it? Which would be more efficient, pro's and con's?
In order to have customizablility, you have to render the car bits on every client, based on that Client's settings (which are managed by your game).
This is a lot more efficient if you only pass in, for example, the ID of the vehicle and let the Client clone the parts from ReplicatedStorage, but comes at the cost of coding complexity: you will have to use RemoteEvents/Functions.
Letting the Server render it is a lot simpler, but laggy players will have problems with collisions, and you have to lower the overall quality (read visual complexity) of the vehicles to keep the game running well for everyone.