A ranked top 50 prospect is worth WAY more than a first round draft pick since so many of the latter bust. Also, very importantly, these compensation picks are not really even first round picks - they are "sandwiched" between the first and second rounds, so they fall in the #31-40 ish range. This further reduces the chances of that pick becoming a top prospect/major league player. Someone who's already made the top 50 prospects list is much more likely to succeed than any given first or sandwhich round round draft pick who is chosen at 16-18 years of age, because so many busts have already been weeded out before that top 50 list is made.
So yes, they'd MUCH rather have Marcus Stroman than a compensation pick. But teams are understandably reluctant to give someone like that up when they're only getting half a season and no draft pick back. That's the choice teams have to make when they think about trading guys with only half a season left before free agency. The question is - Can you get a player who is more valuable than a compensation pick or not?
BTW, it's obviously the same situation we're in with Rasmus.
Tampa rarely lets this happen - they usually trade their guys (Garza, Shields) while they still have trade value (usually 1-2 years before free agency) but are starting to get expensive. When you think about it, it's still surprising that they were willing to go in to 2014 with Price making 14M. They obviously couldn't get what they really wanted this off season, so will try again at the trade deadline. They DID let BJ Upton get to free agency and let him go for a comp pick, but I don't think they can afford to do that with Price. He'll make even more next year.
Final answer? If I'm KC, Stroman is exactly who I ask Toronto for, but any "extra" beyond that would not be a top prospect.