Prepare your protein (if using). Place a large skillet or medium saucepan over medium-high heat. Add ground beef or sausage. Break it apart and cook until fully browned, about 6–8 minutes. Drain excess grease, leaving about 1 tablespoon. Remove from heat and set aside.
Lower the heat to low. Return the pan with meat to the stove (or use a clean saucepan if no meat). Add cubed Velveeta and entire can of undrained Rotel tomatoes.
Stir continuously with a silicone spatula or wooden spoon over low heat. The cheese will soften and blend with tomato juices. Keep stirring until mixture is uniform, glossy, and pale orange, about 5–7 minutes.
Add garlic powder, onion powder, and cayenne (if using). Stir thoroughly. Taste and adjust seasoning – you likely won't need extra salt.
If the dip is too thick, add milk or half-and-half one tablespoon at a time until desired consistency. If too thin, let simmer on low for a minute or two, stirring constantly.
Transfer to a warmed serving bowl. Garnish with selected toppings. Serve immediately.
Slow cooker method: Add cubed Velveeta, undrained Rotel, browned meat (if using), and seasonings to a 2-quart slow cooker. Cook on low for 1–1½ hours, stirring every 20 minutes, until fully melted and combined. Switch to 'warm' setting for serving.