Here's a basic, "easy" explanation, but the pros definitely go into the value of their points on a deeper level. (i.e. see Dan's values that Marco referred to)
Base your value on what brokers pay for points. If you can get more value than those rates, use the points. If you can't, sell them/pay cash.
This is very general, but usually you can get around 1.45-1.5 cents per point for transferable currencies and around 1.2-1.3 cpp for hotel/airline currencies. Obviously there are exceptions.
So, 20K UR @ 1.45 cpp = $290, and your hotel is under $300 you said, so it's basically a toss up. Most would say to keep the miles for a better redemption.
12K SPG @ 1.45 cpp = $175, which seems like a better deal than $300.