Restriction Estimates and their Applications