What is shares in mining? Why getwork response doesn't solve the block directly and only one getwork response from many solves the block? Are they additive or something?

getworks are only proof that you have tryed to solve a block.

take is as a lottery:

10000 tickets, and every ticker have a number.

if the number on the ticker is 1, then jackpot! you won.

if the number on the ticker is less then 100, then its only proof that you have tryed.