Payment.addr vs paymentwithstake.addr

I’m confused about what the difference between these are. I understand that the payment with stake address links the transaction with your node, but when do you use each? When is it appropriate to use payment and when is it appropriate to use paymentwithstake?

payment - use when u will perform transactions, other than withdrawing rewards
stake - when you will withdraw the rewards

Thanks so much for your response! Just a couple of follow up questions. Are rewards automatically deposited into your paymentwithstake.addr, and then you can transfer those rewards to any other wallet? Also, what other types of transactions do you need to make with the regular payment.addr? I guess I’m still unclear about the point of having a regular payment.addr

First you will need to withdraw the rewards and after that u will can spend them