For ideal clocking situations where every part of the chip is clocking synchronously one would need to achieve perfect clocks. This is where high performance CPU designs requires close to zero skew as possible.
However, lower-geometry physics means that ideal clocking situation is less achievable and could be "useful". This enables timing violations to be fixable through other means than just logic optimization. With useful skew, you can fix timing violations by actually *adjusting* clock arrival times at the registers.
Useful skew is leveraged by Place and Route (like Synopsys ICC and Cadence EDI) tools at the backend. Its mostly a Physical activity since, timing violations can be calculated at that level and useful skew can be adjusted by the use of clock buffers, re-adjusting the routes and re-placement of the cells and macros . . .
Cheers!
Mike