As per the FAQ page:
Is there a limit to how many trading cards can drop?
Most games will drop a number of cards equal to about half of the number of cards in that game's set of cards. For example, Half-Life 2 has 8 cards in its set, you can receive 4 card drops by playing it. You'll need to collect the other half of the set from other community members. Try the beta group discussions, community market, barter with friends, and trade discussions. You can check how many drops you have remaining on your badges page.
In the instance that a game has an odd number of cards, for example Counter Strike: Global Offensive - which has a total of five cards - the number of cards that you can collect is rounded up. This means that you can get three out of the five cards.
The drop limit is permanent and it will not reset.
However, there now is an additional way of gaining cards:
Booster packs: Booster packs are additional cards for games that will drop periodically. Anyone who has collected all the trading card drops they can for a game and have used Steam in the last week may receive one of these booster packs. These packs contain three additional cards for the game, and may contain foils. If you receive a booster, you will get a "1 new item in your inventory" alert.
These booster packs are randomly given out whenever a badge is crafted (as can be seen by the badge eligibility text below).
As for statistics, there is now also a "How do I earn card drops?" link on the badge progress:
This then shows an overlay with additional information (what earned you card drops, in particular):