When to prefer yogurt, cream, and coconut milk in an Indian vegetarian dish to make it creamy?
Rule of thumb, dairy in the north and coconut in southern recipes. ie korma wouldn't have coconut

Indian yogurt is made with whole milk. As with western recipes, balancing the fat for good mouth-feel is important: yogurt can be a good choice when a larger quantity of liquid is called for. Cream works great when a finishing splash smooths out flavors without watering down

Acidity is also important. Does the dish need a tangy component or a softening of acids?
A dish could use both: yogurt marinade then a bit of cream to finish.

For richness and a hint of sweetness along with a wonderful aroma, coconut can't be beat but will be a discernable flavor in most curries. Many restaurants are making use of coconut where it is less than traditional with good results.