Williams is inconsistent, as players his age usually are. You can get the 9/10 performance from him on some days, but you're just as likely to witness hot headed brainfarts or silly errors giving away goals in a 3/10 display.
With Shaw you know what you get. Little going forward, decent defending at the back and in possession. He is not very athletic and runs out of steam easily, and gets injured often. And he's consistently a 7/10 with blips either way. He's more predictable, which at this stage is a very valuable trait when you want to affect the game in certain ways.
Williams has a far higher ceiling going forward, and he can develop into a dependable option over time if managed well.