Actually when you put CALCULATE in expression it changes the Evaluation context of the expression. It changes it to rows that it belongs to otherwise if you put MAX(Column) only without specifying the CALCULATE the whole table will be evaluated in calculated column.
Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Still, how does the max value flow from table A to B when there is no relationship flowing from A to B ---> with just a simple calculate(max(table A(value)). At least with the MAXX function it is easier to understand that it is iterating through table A to find max value.