Generic String's methods

Somehow I fail to understand these lines from the manual:

All the methods of the String class, except for concat(), fromCharCode(), slice(), and substr(), are generic, which means the methods call toString() before performing their operations, and you can use these methods with other non-String objects.

Can someone, please, explain what is the difference between substr() and toLowerCase() considering the lines above?
I.e. How can I use toLowerCase() with non-String object, take MovieClip for example, and how it will be different from me not being able to use substr() with non-String objects too?