Mining works by hashing a bunch of transaction information over and over (millions of hashes per second), slightly changing a few pre-determined variables each time to get a brand new hash, and then comparing all of the resulting hashes to see if one of them fits a certain set of criteria, called the difficulty. When a hash succeeds in this, the resulting hash will have a difficulty of 1 (or higher), and is now considered a "share", as we can submit this share to a pool.
Shares can vary in their difficulty. It's sort of like
drawing straws with a bunch of different length straws: you never know how short the straw you're going to draw next is. The shorter the straw, the higher the difficulty, in our analogy. A share can have a difficulty of 1, 2 (twice has hard to find), 10 (10x harder), or 8,385,298 (8,385,298x harder to find). I don't know of any limit to how high the difficulty can go, but it gets incredibly harder to find higher difficulty shares.
A block is found when a share's difficulty is higher than the network difficulty. At the time of this writing, that's about 19.3million. All of those diff=1 shares you submit to your pool don't actually count for anything, except to prove to the pool that you're actually working on finding a block (share with diff>19.3M) for the pool.
Your "Best Share" is just a number to see how close you've come to finding a block. It's all completely random, so you could come back and find your GPU solved a block, or you could come back in a month and see you've never found anything higher. It's more of a fun, interesting number that doesn't really mean anything.
My 7970 in my desktop has a best share of 19.5K. If that were back in
Jan of 2011, that would have been higher than the Network Difficulty, and it would have been a block solver. Now, it's nowhere close.
Hope this helped answer your question.