В контексте checked если разность выходит за пределы диапазона типа результирующего значения, возникает исключение System.OverflowException. В контексте unchecked о переполнениях не сообщается, и все старшие биты, выходящие за пределы диапазона результирующего значения, отбрасываются. Пример.
Данный пример будет работать, т.к. uint+ uint дадут в результате выражения тип uint, но вместо -1 получим в результате 4294967295.
static void Main(string[] args)
{
uint A = 10;
uint B = 9;
Console.WriteLine(B-A);
}