TMs are a new feature introduced into Pokémon GO in the Version 1.37 update. TMs are obtained by completing Raid Battles and have a specific feature: They let you change the Pokémon's moves. This means that if you have a Pokémon with high IVs that just doesn't have the right move, you have the ability to reroll the move.
There are two different kind of TMs: Fast TMs and Charge TMs and they both have specific effects. Fast TMs will let you reroll your Fast Attack and Charge TMs let you reroll your Charge Attack. For Fast Attacks, as Pokémon typically only have two Fast Attacks, you will be guaranteed to get the other. For Charge Attacks, however, you have an equal chance of getting the other moves. For most Pokémon, they only have 3 Charge Attacks, so you'll have a 50/50 chance of getting either of the other move. However, for Pokémon such as Hitmonchan, the chances are lower but remain equally spread.
If the Pokémon has no other Fast Attacks or Charge Attacks than the ones that it has, such as with Ditto and Unown, then the TMs cannot be used.
For a full list of each Pokémon's Fast Attacks and Charge Attacks, check our Pokémon Listing