Roy's main problem is having no really safe attacks to use against shields. Sure, Down Tilt can poke and Neutral Air's 1st hitbox is pretty good, but being able to hit a shield then attack INSATANTLY unpon landing is insane. Let's take the example of Sheik's Forward Air into this account. Her Forward Air autocancels at frame 11 - What does this mean? At the apex of a jump, she can Forward Air a shield, fast fall down to the floor, suffer no lag due to its autocancel window being at Frame 11, and then immediately grab you. Ever wonder why her Forward Air is so ridiculous? It's not that it's absurdly fast, is a disjoint, can link into itself, and can even kill at later percents - It's the fact that there is absolutely no lag after the attack hits, giving Sheik infinite possibilities afterwards on how she wants to continue what she is doing.
We can even cover Marth's Forward Air, Back Air, and even Up Air while we are at it. All three of these autocancel before his short hop is over, meaning all of them can hit a shield and Marth can do anything afterwards, particularly a B-Reversed Shield Breaker in order to ruin shield-happy opponents. He can get a Forward Smash off on the shield drop, Forward Tilt for space if Forward Smash won't kill, or he can immediately jump back into the air if he doesn't like the position he is in.
Roy has none of this, and is a poorly constructed character who was made to be aggressive but is forced into a bait-and-punish role similarly to Ganondorf, with few approaching options despite a great Short Hop and running speed, poor killing tools that are laggy, and a problem against spacing and a problem spacing himself despite being made to 'dominate' against these playstyles. And that only scratches the SURFACE of what is wrong with him.
Hopefully this makes you understand.
EDIT: And to answer your last question, yes, Roy could also use buffs in other areas. However, this is his major issue that needs to be addressed.