Resource smoothing is making sure resources are not over allocated on a project. It means that the project manager cannot compromise the project end date. So, if the network, the critical path, interdependencies are all correct and the resources allocated are also correct, then the only thing you can do is to modify the schedule. You do this by looking at where you have total float on tasks. So, if there is a task that takes 2 weeks with 3 resources with 1 week float, we could modify this by allocating 2 resources over 3 weeks because you have total float to do this.
Resource levelling aims to ensure resources are not over allocated. It means they are fixed to a limit based on their skills and or availability. The project end date could therefore be delayed. For example, if we looked at a project schedule and considered if tasks are on the critical path could be extended in order to reduce the level of over allocation.