Basically, as BrUnO mentioned, the primary difference is that GameLift hosts your dedicated server builds on their servers. You use the GameLift dashboard or AWS CLI Tools to upload your builds, then GameLift deploys it across 1 or more AWS EC2 Server Instances ( Windows or Linux Servers Supported ). These instances are organized into Fleets are assigned to builds and provide auto-scaling and multi-tenant capability to handle whatever server load your player base requires. Currently the GameLift SDK’s are more utilitarian in nature, focused on managing these builds, fleets and basic game session management. They don’t have very robust match-making or social features yet, you’ll basically need to roll you’re own ( for now at least ).
Steam on the other hand, purely hosts a master server where your game servers can register their availability and players can create, find and join available games, plus invitations, badges, etc. You and/or your user base will need to host and manage your own dedicated servers. However, Steam provides a lot more integrated community functionality and features on the social, matchmaking and monetization front + voice, etc. Not to mention distribution of your game, game updates and dedicated server tools. It really just depends on how much of an infrastructure you think you’ll really need, what type of budget you can afford and if you’re OK with tightly coupling your multiplayer game features with Steam. There is a free tier for new AWS accounts that can get you going relatively cheap if you’d like to try it out.