It is very fair, the CM's do not "pick" people.
There is a computer system that is run by Creata (an outside company), it randomly prints out time, place and prize. The head manager of the project gets these, puts them in an envelope and seal the envelope with the Park name, time to open the envelope and the date printed on the outside. The Dream Squad gets the prizes delivered to them in black bags with the envelope zip tied to it, if it is the Dream Fastpass, Dream Ears or the Dream Lanyard. They are able to open the envelope about 30 minutes prior to the actually delivery time of the prize. The letter inside will say something like Issue 100 Dream Ears at 1:30pm at the entrance turnstile at Dumbo. At exactlly 1:30pm (yes they have synchronized watches) they will be at the turnstiles of Dumbo and the next 100 people to go through them will be issued the prize.
If it is a big prize, the night in the castle, a trip around the world, etc it is a little different. They will get the envelope only about 5 minutes before the delivery time and the information will be VERY specific. It will say something like Issue Cinderella Castle stay at Rock N Roller Coaster at 2:23pm to the guest in row 4 left seat. The next car to enter the unload on or after 2:23pm the guest in row 4 left seat is the winner, if there is not someone in that seat at that time, they will send the prize back into the computer to be re-issued at a different location and time.
It is a completely random process and being audited by Ernst & Young (outside company) to make sure that it remains that way.
Read the post titled "We hooked a really BIG fish" it tells of an 11 year old that won a trip to Paris simply by sitting on "the right bench at the right time"... Everyone is fair game...no favortism in this one.
Good luck!
