Alright, these two giants are both amazing and helpful for the average/advanced runner.
Both services provide great tools to keep track of your running sessions and long-term schedules. Both services allow multisport activities. Both keep each runner in contact with other runners. Both accommodate the awesome features of modern devices, from watches to smartphones.
However there are some major differences in terms of price and capabilities.
Strava makes no difference between a Suunto or Garmin watch, or smartphone, be it Android or iPhone, as long as the GPS is up and running. One feature worth mentioning is the capability to connect to runners met on the road (or trail). I am not sure that's a capability though... it sounds more like a huge privacy violation :) Other interesting features of Strava, more into the analytics realm, are available only in a premium account, which sometimes feels like a bummer...
Garmin improved so much in the last few months. From setting a workout, scheduling it on a calendar and pushing it to the device works like a charm. It also provides social networking, a bit more discretely than Strava. Only problem is that I feel there are just many more runners on Strava than Garmin. But as I do not consider running a social activity, it doesn't really matter. The only concrete drawback is that Garmin works only for Garmin devices.