The Indians don't seem like they'll be making the playoffs any time soon, and may want some more depth to add to their farm system (especially in the rotation). In the trade they receive plenty of youth, as well as a future member of the rotation in Brad Holt. For the Mets, they get a great, affordable catcher for the next year and a half, and also have plenty of time to re-sign him as well. While many believe the Mets should go for an outfielder if they are trading Francoeur (especially with Beltran out), I think that Martinez will more than enough of an addition to the lineup, and over the long term Francisco will probably produce more than Francoeur.
As for the Indians roster, all the spots will be filled. Francoeur would replace Francisco, and Shoppach/Santos would replace Martinez.