Rule one: THERE ARE NO PERFECT DOGS (OR BOYFRIENDS)!
I've had my beautiful boy for 5 years and I can't imagine life without him, but we didn't start out that way. Arriving at the shelter to pick him up on the wrong day should have been my first clue ...
You should think about what sort of lifestyle you can realistically offer a dog: are you active? Lots of runs? Big back yard? Home a lot? Other pets? Children? Can you afford regular grooming? Do you have experience with dogs?
I went to a shelter with a list that sort of went like: needs to be good with cats ( I have cats ), no puppies ( I didn't have time for toilet training or other puppy needs ) must get along with my mum's dogs ( we would visit them a lot ), needs to be big enough to be scary-ish ( I was living alone in an isolated place ) but not too small or energetic ( I'm a bit of a couch potato ), have a low mainenance coat ( I only worked part time and was paying rent ) and must be good in the car ( I had a 5 hour round trip to uni 3 times a week ). The volunteers at the shelter were very knowledgable about their 'inmates' personalities and needs and suggested a mixbreed based on my vague requirements - after a rocky start, we are blissfully happy together!
The great thing about shelters is that they often give you a trial period so that you can see if the dog really does suit you. Just like humans, it takes time to build a relationship and while knowing general breed traits is a great start, there a personalities to take into account too. The head instructor at our obedience club has 6 rottweilers and he treats them all the same, but they are all quite different!
In the end, it doesn't matter if you friend has a great lab/kelpie/poodle/corgi/collie/shepherd/... it comes down to you being prepared to put the time into building that relationship with your dog and incorporating them into your life. Think about adopting a dog from a shelter, I promise you, the rewards can be AMAZING! Good luck!