The icons used in Google Contacts used to be a relatively low resolution, more of a thumbnail really. Those are the pictures that the phone pulls from first. There are a couple of ways you can bring higher resolution pictures in for your contacts.
1) Use your own high resolution photo. You can do this by opening a contact in the People app, tapping the menu, selecting Edit, then tapping on the photo icon. You'll be offered a choice to either take a photo right then, or pick a photo you've already got on your phone from the Gallery app.
2) Sync your contacts with Google+. If you and your contacts use Google+, you can launch the Google+ app on Android and set it to sync contacts from the app's settings. If your contact has a high resolution photo for their portrait in Google+ it'll get sync'd to your phone. Note that the initial contact photo sync from Google+ takes a little while to finish.
(Advanced note on #2: I was just playing with this a couple of days ago and noticed that the initial sync with Google+ prioritizes syncing a contact that you happen to be looking at. For example, if you're syncing 200 contacts but go look at your best friend immediately, it'll pull down your friend's photo right then and there before working on the rest of your contacts.)