Put up a large saucepan of water to boil -- or boil some water in the bottom section of a vegetable steamer. In the meantime, trim the cauliflower of its base and leaves and cut or break the rest into 3/4-inch florets. (You should get about 6 cups.)
Cook the cauliflower in or over the simmering water until just tender (2 to 3 minutes in the water; 5 or more minutes in the steamer). Refresh in a colander under cold running water, and drain thoroughly. Transfer to a medium-size bowl.
Place a medium-small skillet over medium heat. After about a minute, add the olive oil, and swirl to coat the pan.
Add the cumin seeds, and cook over medium heat for about 2 to 3 minutes, or until aromatic. Don't let them burn. Add the onion and salt, turn the heat to medium-low and cook for about 5 to 8 minutes, or until the onion becomes very soft. Stir in the garlic, and remove from the heat.
Add the sautéed onion mixture to the cauliflower, including all the oil. Stir in the vinegar and some black pepper, then add the cheese and optional sour cream or yogurt. Mix until thoroughly combined, and taste to adjust seasonings. You can serve this right away but for optimal flavor, I recommend covering the bowl, and letting it stand for at least an hour before serving. Serve at room temperature or chilled.