Roles are something that exists on Actor classes and anything that derives from it (ex. Pawn, Character, etc). ROLE_Authority means that the actor exists on the host/server computer. So all players and actors would be ROLE_Authority on that computer. ROLE_AutonomousProxy is the actor/pawn that is on the client computer AND that you are in control of. So there’s usually 1 AutonomousProxy’s for every client computer. ROLE_SimulatedProxy is actors/pawns that exist ONLY on the client computers where the client is NOT in control of. So on a client computer, if the player controls a pawn, that would be an autonomous proxy (has player controller). The one that he doesn’t control (so another computer controls) would be a simulated proxy on his/her computer (no player controller, information comes from server).
Knowing that and the order of the ROLE enums, it makes sense what those code you listed out mean. Role > ROLE_Authority doesn’t make sense actually. Role == ROLE_Authority is check if the actor is on the server. Its the same as HasAuthority pretty much. Role < ROLE_Authority is checking if the role of the actor is either a Simulated Proxy or Autonomous Proxy. You would use this to do something for all client computers (so like spawn a particle for all of them).