Ashwin,
You are correct. Fast Tracking is a schedule compression technique, in which you perform certain tasks in parallel that you would normally not do in parallel. For example: You start software development before the database design is completely finished. It's risky but allows you to speed things up.
Resource Leveling is used to balance out your schedule based on your available resources. Let's assume that Susan is scheduled to work on 10 different tasks on your project. Each of these tasks takes 4 hours. You cannot schedule her to work these tasks all on the same day because Susan cannot work 40 hours per day. You have to change your schedule so that each day you only have her working on 2 tasks.
Resource Smoothing is very similar to Resource Leveling. But in resource smoothing we also have to take into account, that Susan is only assigned to our project for 50% of her time. So we are only allowed to schedule her for 4 hours per day, meaning we can only schedule her for 1 task per day. Furthermore, Resource Smoothing is not applied to tasks on your critical path. So if Susan's tasks happen to be on the critical path then you are going to have to negotiate with her manager, so that you may be allowed to "overbook" her, so that your schedule does not slip.
Until Next Time,
Cornelius Fichtner, PMP, CSM
President, OSP International LLC