Usually a variable is converted to string when you want to use string methods on that variable. I think that the most useful case is when you must use a string method inside a function and you don't know what type of variable the user passes into the function. For example if you want to calculate the number of characters in a variable:
function length(s)
{
return s.length;
}
With this function you can only work with strings because if the user inserts a number as argument the length property is undefined, because the Number object doesn't have that property, so you must cast the variable:
function length(s)
{
s=s+"";
return s.length;
}
and this time it works.