The explanation is talking about tying the returned list to list of objects i.e. List<Object>. You can't do that because you don't know the type of objects contained in the list. This is explained in the previous sentence of the explanation -
"The output type of the method has been specified as ///List<? super E>/// , which means that it is a List that contains objects of some class that is a super class of E. Here, E will be typed to whatever is being used for '///in///'. For example, if you declare ///ArrayList<String> in///, E will be String. "
All you know is that the list contains objects of some class that is a super class of E. Now, that class could be Object as well but you don't know that for sure. That is why you can't assign the return value to List<Object>.
I suggest you to go through the basic concepts of generics from a good book or at least read this small write up -
viewtopic.php?f=2&t=473
HTH,
Paul.