A two-player game can be "solved" on several levels.
In the weakest sense, solving a game means proving whether the first player will win, lose, or draw from the initial position, given perfect play[?] on both sides.
More typically, solving a game means providing an algorithm which secures a win for one player, or a draw for either, against any possible moves by the opponent, from the initial position only.
The strongest sense of solution requires an algorithm which can produce perfect play from any position, i.e. even if mistakes have already been made on one or both sides. For a game with a finite number of positions, this is always possible with a powerful enough computer, by checking all the positions. However, there is the question of finding an efficient algorithm, or an algorithm that works on computers currently available.
Endgames up to 8? pieces have been solved. Not all early-game positions have been solved, but almost all midgame positions are solved. Contrary to popular belief, Checkers is not completely solved.
Completely solved (definition #3) by retrospective computer analysis for all 2- to 5-piece endgames, counting the two kings as pieces. Also solved for pawnless 3-3 and most 4-2 endgames.