Here is how I rank players:
All-time greats: Players who you would shortlist for an all-time XI, as in they merit consideration for being discussed in this elite group. They are not only recognized as the best of their time, but based on records and peer approval, are measured against the best of any era. It doesnt mean that there are only eleven all-time greats, but there are several more who could be in the discussion. So Dale Steyn or Greg Chappell may not be in an all-time XI, but certainly deserve to be considered, and hence are all-time greats.
Greats/National Greats: Players with a sustained level of world class performance over a career and are among the best of their times, but lack the same rating as all-time greats based on some shortcoming or not quite as ranked among their peers. They are recognized among the best their country has produced. Players like Miandad, Walsh, etc.
World Class: Rated as among the best in the world in their playing days but did not play long enough over a stretch of a career to be given great status. Guys like Shane Bond, Ian Bishop, etc.
Frontline: One of your more established batsmen or bowlers who was a fixture in the side and maintained consistent performances while never rising to be rated among the best of their time. Guys like Mark Waugh, Craig McDermott, Morne Morkel, etc.
Based on the above, McGrath clearly is an all-time great, but Anderson is more of a national great for me. I would consider him for an all-time England XI perhaps.