Are all Shimano 10 speed cassettes compatible with each other? I am trying to buy a cassette for my new incoming carbon wheels so that I just switch them with my current wheeyl whenever I need to race/crit without the need to retune the shifter and derailleur. 
I was wondering if a Tiagra HG-500 12-28t (10 speed) would be compatible with my current Tiagra CS-4600 (12-28t) 10 speed?  For a reason, it is really hard to find CS-4600. Thanks!
All Shimano and SRAM cassettes up to 10 speed are broadly compatible. 

They all use Shimano's Hyperglide II freehub body spline pattern.

Cassettes with the same number of sprockets have the same sprocket spacing, sprocket width and overall width. 

So, you can replace a N speed Shimano/SRAM cassette with any other N speed one that has a range compatible with your drivetrain (min and max sprocket size and within total capacity).

At 11 speed Shimano and SRAM road and mountain drivetrains diverge in sprocket spacing, but retain compatibility within those two categories. 

The chain length may need to change but a new chain should be used with a new cassette anyway.

FYI you may find you need to adjust your derailleur when swapping wheels, as the two hubs wont quite laterally position the cassettes identically.