It doesn't matter. Smith is sitting at home watching his team get humiliated to Bangladesh of all. That is bigger embarrassment than Williamson who is just giving chances to youngsters for a meaningless T20 series Vs Pakistan. T20 is the format where you give chances to youngsters.
Also, you are completely wrong on de Villiers point too here as de Villiers never skipped any international game for South Africa and went to playing IPL match at the same time. He played 96 tests continuously for South Africa without taking a break, that tells us that it was more about the time and stage of your life than anything else. He was also taking a break like Smith when South African international matches were happening. He took the decision of retirement after which you are allowed to play whatever cricket you want.
Retirement is a decision which is completely a personal point of view. Fans should not hold any grudges for the same and also you can play IPL alongwith international game too. So, this suggestion that de Villiers was a sell-out and retired for IPL is an absolutely hypocrite and baseless argument. There is no point playing the game when you are not up for it mentally and it was a decision that needs to be appreciated.