Heat a medium skillet over medium-high heat. Cook the bacon until crisp, being careful not to burn. Remove the bacon pieces to a paper towel-lined plate with a slotted spoon, leaving the grease in the pan.
Add the onion to the pan with the bacon grease and cook until just tender, about 4-5 minutes. Stir in the garlic, cumin, cayenne, and cook until fragrant, about 30-60 seconds. Season to taste with salt and pepper. Add the beans to the pan. Pour in about 2/3 cup of the broth, bring to a boil, and reduce to a light simmer. Let simmer for about 10 minutes or until the beans are soft enough to mash easily.
Remove the pan from the heat, stir in the salsa if using, and mash the bean mixture as desired. (You can add the cooked bacon back in or leave it out…it’s up to you.) For a chunkier texture, use a fork or potato masher. For a smoother texture, pulse the mixture in a food processor. Add up to 1/3 cup more broth for a lighter texture if needed (I always end up using at least 1 cup total of broth). Adjust seasonings to taste. Top with shredded cheese and sliced scallions. Serve.