Suppose you have a class Person :
public class Person { public string Name { get; set;} public IEnumerable Roles {get; set;} }
I think Enumerable.Empty is better because it is more explicit: your code clearly indicates your intentions. It might also be a bit more efficient, but that's only a secondary advantage.
Enumerable.Empty