Stratified sampling is most efficient (in terms of variance of the estimate) when you have homogeneity WITHIN strata and heterogeneity BETWEEN strata. Think US states if your variable of interest were some social issue. Texans are very similar to each other but wildly different from New Yorkers (who are again similar to each other). If this is the case then stratified sampling can be more efficient than simple random sampling since you require less samples to achieve a fully represented sample of your population. Cluster sampling is most efficient (again, efficiency in terms of variance) when you have heterogeneity WITHIN strata and homogeneity BETWEEN strata. Think schools in a particular state and the variable of interest is student height. Cluster sampling intends to design each cluster to essentially be a mini version of your population. The main benefits of this are practical in consideration. For example, you don't require a complete frame, i.e. if you want to sample students but don't have the students contact information, you can sample the schools instead and have them give the survey to all of the students. It also saves on cost of actually administering the survey. If your survey must be completed in person then it can be expensive to drive around and survey persons chosen randomly using SRS. If you sample clusters that are chosen with geographic proximity in mind this becomes less expensive and can actually lead to you being able to survey more people (which can lead to less variance than SRS). That being said, beyond just practical reasons, it is possible that cluster sampling will have less variance than SRS with the same sample size if there is an intra-class correlation that is negative.