Mix together the salt, cumin and chili powder and rub all over the meat.
Place the meat in a large, heavy pot with the cinnamon stick, bay leaf, garlic and onion. Ideally, the pot is large enough so that the meat is in a single layer. Add enough water to almost, but not entirely, cover the meat.
Put the pot in the oven, uncovered, and braise for 3 to 3 1/2 hours. Stir the meat just a few times while it cooks. You’ll know the pork is done when it’s really tender, slightly browned and most of the liquid is gone.
Remove the pork from the oven. Put the meat on a cutting board and cut or shred it with your hands into thin strips.
Remove the cinnamon stick and bay leaf from the pot. Add the shredded meat back to the pot and return it to the oven.
Roast the meat, mixing occasionally, until the meat is as dark and crispy as you like it. (This process will go even faster if the meat is spread out on a roasting pan or baking sheet with any remaining liquid that was left in the pot. If time is tight, you can also put the meat under a broiler).
If you’re making carnitas ahead of time, cook the meat for 3 hours until tender. The final crisping up in the oven can be done right before serving the meat.
The entire cooking process for carnitas can also be done on a stovetop but the oven is a little easier. A slow cooker can also be used to cook the meat until tender (add only about 1/2 cup of water). The meat can then be transferred to the oven to brown.