What is the difference between FeatureLayer and FeatureSet in ArcGIS?
Feature Layer and Feature Set and Feature Class, in the context of geoprocessing are all input / output parameters. That is, a tool is defined how expected "data" or "stuff" will be passed into the tool.
With these 3, they're all essentially equal. They mean the tool will accept or return features. The layer, set, class defines how the client application will create or show a particular parameter. (Which you'd do because you the tool author has decided you want a user to input a layer instead of say a class for example) For INPUT, this basically sums it up:
- feature class = allows a feature class to be passed in. This is the full path to the feature class ON DISK.
- feature layer = allows a layer (like something from your Table of Content) to be passed in. Will also accept a featureclass
- feature set = allows created or digitized on demand features to be passed in. Will also accept a layer or featureclass.
In terms of output and geoprocessing, almost always just use feature class. Its the most straight forward and will do what you need.
I did see you ask another question sort of in this regards specifically to the Runtime, so I'm not 100% sure this will answer your question. If it doesn't you're going to have to be much more specific in the area you're working and what it is you dont understand. The answer I provided above is oriented towards these types from a geoprocessing tool perspective.