The requirement for a final others clause within a case statement is defensive programming.
The clause should either take appropriate action or contain a suitable comment as to why no action is taken.
case my_case is when 0 => z <= a; when 1 => z <= b; when 2 => z <= c; end case;
case my_case is when 0 => z <= a; when 1 => z <= b; when 2 => z <= c; when others => z <= d; end case;