First, this is just business. Some places do charge per room, others per person, others have a base price plus an add-on cost for each additional guest.
It is their policy and going against can land you in trouble. Usually, they will simply make you pay for the extra guest when you check-in. The same often happens when you take someone to your room for a one night stand, you can get charged for an additional person just for one night. In some places, I even got charged an impromptu guest fee for a hotel where rooms for one and two were the same price but they insisted that this fee was needed because the guest was not originally on the reservation. Another place even made the girl check-in which is definitely unromantic!
While I understand it seems unfair to charge different prices for the same thing but this happens all the time in other industries, most famously the airline industry. Sometimes though, you are not getting the same thing because the hotel may incur costs per guest. The most obvious would be included meals but this can include complimentary tours, welcome drinks, etc.