CAST is ANSI specific, whereas CONVERT is SQL Server.
CONVERT is more flexible than CAST. If you are using CONVERT you can format dates and so on.
Apart from that, they are almost the same. But, if you really don't care about the extended features, then CAST is the right option for you.
Note: Whenever an implicit conversion is used, then you are not supposed to use either CONVERT or CAST.
It’s recommended to use CAST wherever it’s possible.
For more information you can refer to CAST and CONVERT and this graphic as well as SQL Server Data Type Conversion Chart.
Hope this helps you :)