Using states will give you the same benefits for a cosnosle application chess game as it would give you with a full fledged UI application. the main benefit is that you can keep track of the allowed moves and game state , like you've said: casteling, en-passant , check , check-mate etc..
The game state and possible moves are not affected by the fact that you use console application , UI , a distributed web application or whatever. they have to do with the internal logic of the game.
Edit:
One bonus I can think of for UI chess application is if you wish to specialize the look of ceratin states, e.g. : put a red square on the king when there is a check state.