A ply describes how far GNU Backgammon evaluates the position. 0-ply means that GNU Backgammon estimates the worth of the position as it is. A 1-ply evaluation looks one step deeper, i.e. it evaluates the position after making the best possible move for each of the 21 different rolls and returns the averaged result. 2-ply is another roll further and so on.
The more plies you choose, the more you strengthen GNU Backgammon. Keep in mind that this will also decrease the playing speed.
Note also that 0-ply in GNU Backgammon is equivalent to the 1-ply evaluation of Snowie.
It's possible that Snowie's is a playing ply while gnubg's is a position evaluation ply. When playing at 1-ply Snowie will make each possible move for the player's roll (that's 1 ply) and analyze the resulting positions. Playing at 2-ply it will take each of those positions and make all the opponent moves for all possible rolls (the 2nd ply) and then analyze the resulting positions. In GNU Backgammon the initial set of possible moves is taken for granted, i.e. not counted as a ply, because gnubg's plies are position evaluation plies. Thus, for each of those possible moves a 0-ply analysis is done. gnubg's discounting of the first set of moves perhaps makes the counting seem funny.
Looking at it a different way, if you give GNU Backgammon a position and analyze it at 1-ply, it will make all the moves for all possible rolls (the 1st ply) and then analyze the resulting positions. With Snowie it will assume that the position arose from a move (that's a pretend 1st ply) then make all the moves for all possible rolls (the 2nd ply) and analyze them. This time it's Snowie that seems to be counting strangely.