In the 2.5.5 version of the official IOTA wallet, "Reattach" seems to have been replaced with "Promote". What does Promote do that Reattach didn't, and how does it improve transaction confirmation?
In fact, the button was not replaced, but added. So for some transactions you can still see the reattach button, and for others the new promote button.
The behaviour of these two actions is different:
Reattach will pick two new random tips and create a copy of your transaction bundle attached to them. This needs more PoW (one PoW per transaction in the bundle) and essentially creates a double-spend situation: only either the original transaction or the reattached ones can ever confirm. When reattaching too early, this creates a situation of "landmines" to other nodes/users, as they have 50% chance to attach to the wrong transaction, making their transactions effectively unconfirmable (and needing reattach). In rare cases it can even happen that the reattachment is attached to one of the reattached transactions (making it impossible for the reattached transactions to be confirmed ever)
Promote, on contrast, will only issue a single new zero-value transaction which will both confirm your transaction and the latest milestone. In some cases, it will not directly approve them, but indirectly: It will run a MCMC walk from your transaction as well as a MCMC walk from the latest milestone, and the randomly chosen "tips" will be used as tips for the new transaction. That way, the weight of the new transaction is increased and the chance of your tip being chosen later is improved. Also, when you promote a transaction that has already been promoted (and not referenced by other transactions), your second promote will promote the first promote, reducting the number of tips.
And how does the wallet choose which button to show? In latest iri (18.104.22.168), a function
checkConsistency was added which you can call on a pending transaction (or more of them) and it will tell you if it is still possible for this transaction (or all the transactions simultaneously if you give more than one) to be confirmed, or not (because it conflicts with another already confirmed transaction). When the transaction is still consistent, you can only promote it (since it gives you a better chance of getting confirmed than reattachment and avoids creating land-mines), and if not, you can only reattach it (since promoting it would never confirm; there is already a land-mine so the new one will not become one; and it cannot happen that the reattachment is attached to the original transaction since tip selection will never choose inconsistent transactions).
As a consequence: When you see Promote button, feel free to click it, it will (unlike reattach) not hurt the network, but you don't have to as there is still change for your transaction to get confirmed without promoting. When you see Reattach button, you have to reattach, your transaction will not be confirmed ever otherwise.
When you still have old wallet, do not click reattach too often (better upgrade your wallet - it will not only help your transactions but also others').