Two things.
while rounds > player_point or cpu_point:
This goes on forever because of the order of operator precedence. In this case, comparison operators are checked before boolean operators. So on the first move python will convert it to say: while <True | False> or cpu_point. The true | false simply signifying that it may be true or false, it doesn't honestly matter. The next move it sees is to do <Boolean value> or <integer value>. Since or requires each side be a boolean value, it will convert the integer value into a boolean value. If the interger value is 0, then it will become false, if the integer value is ANYTHING other than 0, it will become true.
Thus your equation is evaluating to either True or False, True or True, or False or True. It can never be false or false - which would kick you from the loop. I hope this all made sense.
Now for the second equation.
while rounds > player_point or rounds > cpu_point:
You have left out your additional code (like the starting values for round, player_point, and cpu_point and when (and by how much) these values get incremented.
The while loop itself (assuming rounds is the number of rounds a player must win) looks fine, with the exception that you say in your description "greater than or equal to" but your program is only checking greater than.
My guess is that something is not incrementing correctly or you are accidentally resetting a value in the loop somewhere. Could you post the rest of your loop code so we can see what is going on?