How can I estimate my chances to win a Risk battle?
All of the detailed probability calculations and Markov analysis posted by Eric P. and ire_and_curses can be distilled into a simple set of Risk attack heuristics:


Large battles favor the attacker but only very slightly.
For small battles, attack if you have more armies, stop if you don't.




The rationale for these guidelines is outlined below.

A large battle is 3 or more attackers and 2 or more defenders. For large battles the army count has nothing to do with the outcome of any single battle, which means you only need to remember a single number: the net attrition rate, defined as the expected value of the difference between defender and attacker losses. This rate can be calculated from data in Table 2 of the Jason Osborne paper in Eric P.'s answer:


The expected value of the defenders lost is 1.08. The number of defenders lost by events pi_32x weighted by their probability.
The expected value of the attackers lost is 0.922. 
This means the net attrition rate is 0.158 (i.e. over 10 rounds of combat, the defender will lose 1.58 more armies--on average). Over 20 rounds 3.16. 


Leading us to our first heuristic:


Large battles favor the attacker but only very slightly. As the attacker, it takes on average 20 rounds to make up a three army deficit. Whether you should attack in any given situation is a strategic not a tactical decision, but tactically the attacking advantage is on average very slight. Remember as well that past events have nothing to do with future rolls.


For small battles, the full probability matrix is supplied above, but our second rule distills this knowledge:


For small battles, attack if you have more armies, stop if you don't. When outnumbered your probability of winning is no more than 0.417 and probably less. Otherwise your probability of winning is at least 0.656 but as high as 0.916.