Full: Downloads all blocks (including headers, transactions and receipts) and generates the state of the blockchain incrementally by executing every block. It means replays all transactions that ever happened. While doing so, it stores the receipts of transactions and continuously updates the state database. It is called eth full node
Fast (Default): Downloads all blocks (including headers, transactions and receipts – validate for last 1000 transactions), verifies all headers, and downloads the state and verifies it against the headers. It does not replay transactions. Fast sync is used only for initially getting the blockchain. After the fast sync process ended, these nodes acts just as a full synced node. Since a fast synced node also has all the historical data.
Light: Downloads all block headers, block data, and verifies some randomly.