I play both Marth and Roy pretty regularly. They have a lot of the same strengths--strong movement game with good wavedashes and dash dance, disjointed hitboxes, long grab range. In all of these areas, Marth is slightly stronger, with a slightly faster wavedash, longer dash dance range, longer sword, and slightly longer grab range.
Roy has a great combo starter in the form of his d-tilt, and his faster falling speed makes his shuffle game much quicker. However, as many have pointed out, the fact that Roy sweetspots with the base of the blade negates a lot of the advantage of disjointed hitboxes on his sword.
Roy shares all of Marth's weaknesses as well, but Roy has several additional problems that are actually quite subtle:
1. His attacks are slower. If you compare the frame data, almost every one of Roy's attacks is 10-15% slower than Marth's corresponding move.
2. Roy's sourspots are really bad compared to Marth. For example, Roy's sweetspot u-tilt does only 1% more than Marth's sourspot, while Marth's sweetspot is stronger than Roy's sour by 5-6%.
3. Roy's aerials are horrible. In addition to being slower, Roy's sweetspot aerials do almost exactly the same damage as Marth's sourspots, while Roy's sourspots are significantly less. This also makes his followups from u-throw generally pretty weak.
All these weaknesses combine to severely limit Roy's options. He still has some good moves, especially his d-tilt, but since he doesn't have as much flexibility, it's much easier to identify his approaches and movement and lock him down.