Shares are how the pool keeps track of the work you do (your "shares" are your "share" of the total work).
Generally, each chain block is considered a "round"; when the round is over, the shares for that round get added to the database. (this would be the point where you're seeing it go back to 0)
When the pool finds a block, it looks to see how many shares you've accumulated and compares that to how many total shares have been submitted by everyone.
Depending on the pool, "pending" can either be that you've reached the minimum threshold for payment and are waiting for it to process or that you've mined enough to get some payment but not yet enough to reach the minimum that they are willing to send out