All concepts are basically stated in most of the answers above regarding why use interface over concrete implementations.
IList defines those methods (not including extension methods)
IList
MSDN link
- Add
- Clear
- Contains
- CopyTo
- GetEnumerator
- IndexOf
- Insert
- Remove
- RemoveAt
List
implements those nine methods (not including extension methods), on top of that it has about 41 public methods, which weighs in your consideration of which one to use in your application.
List
MSDN link