The Convert class is very handy to deal with boxed value types. A hard C# rule says that you must always unbox it to the exact same type:
object box = 42;
long value = (long)box; // Kaboom!
That generates an InvalidCastException. Pretty inconvenient, especially since converting an int to a long is never a problem otherwise. It was however necessary to make unboxing efficient, very important in .NET 1.x before generics were available.
Every value type implements the IConvertable interface. Which make this code work to solve the problem:
object box = 42;
long value = Convert.ToInt64(box); // No problem
While this looks pretty synthetic, the real use case is reading data from a dbase. You'll get the column values as boxed values. And clearly it is very possible to have an oops where a column is a Date value and the program tries read it as a Boolean. The Convert.ToBoolean(DateTime) method ensures that you'll get a loud bang when that happens.