>So in essence, what is undefined in the Standard becomes
>defined in the context of a particular compiler.
That rather goes without saying, but doesn't change anything. The result can still be unpredictable, and it's certainly not portable.
>Doesn't it blur the difference between the two things,
>when the implementation of both, the undefined and the
>unspecified, is being handled in a fixed way by the compiler.
Not really. Unspecified means the standard offers multiple options to choose from, but the compiler must choose one of them. Undefined means the standard says "you're on your own" and the compiler can do anything.
>Is it that during the coding of the compiler, the undefined
>cases are simply not accounted for, and their result ,
>unintentionally, depends on the way a code is written
That's one possibility, yes.