Ah yes, this is an awesome function. It's purpose is to cumulate the values that you are ranking. It's two functions in one. It first ranks your value and secondly accumulates the sales in the direction of the rank you choose. Let's say you want to rank your top stores and you want to know what % the top 10 stores make up in terms of sales. You can use Rank Cumulate. So, RANKCUMULATE(Sales, Sales) will rank the sales first, then cumulate the sales (ascendling by default). You can read more about this function here.
It obviously has to RANK first, otherwise CUMULATE will work in an order in which the list items are arranged. So rank comes first and then it cumulates all the values corresponding to the ranks. This function is really helpful in Allocation.