a.) Chess - The current best step may or may not lead to the global best solution. Because there are many possibilities where opponent can tackle our best step. We need to check all the possibilities. So, greedy may not be optimal/ applicable.
b.) Sorting - Yes, Greedy is applicable here but not necessarily encouraged. For ex- Selection Sort. Where the local solution leads to the global solution. But the time complexity is high(O(n2)). Using other approaches may give optimal ways to sort.
c.) Shortest path computation - Some problems like MST, Dijkstra's algorithm which are quite similar to Shortest path computation applies Greedy approach.
d.) Knapsack - Incase of fractional Knapsack we consider Max {Value/Weight} at each step which gives an optimal solution but for 0/1 Knapsack, dynamic programming gives optimal solution. So, for Fractional Knapsack, Greedy method is applicable.