List extends Number> and List would both allow to add for example Integers, but:
With List you could put in there Integers and anything else that "is" a Number. With List extends Number> you can put in there only one concrete runtimetype. Be it Integer, then you cannot add another type that's also a Number.