Quick definition. A result set is the output of a query. It could result in a one row, one column output or a 100+ column, million+ row output. Either way that’s a result set. Note: you can have multiple result sets from a single object (stored procedure, function etc) call.
This was introduced in SQL Server 2012 and there are a couple of security-related scenarios in which RESULT SETS is helpful. It also lets you rename columns in stored procedure calls, if you’re into that sort of thing.