They are bad. The reason the run differential is close is because of good pitching.
That idea contradicts itself. While I agree they are a lopsided team(all pitching no hitting) the fact remains their pitching has been good. It's not "luck" either. If you look at their FIP and xFIP it looks like this
Shark - 1.68 ERA 2.78 FIP 3.27 xFIP
Hammel - 3.08 ERA 3.17 FIP 3.58 xFIP
Wood - 4.35 ERA 3.73 FIP 4.14 xFIP
Jackson - 4.81 ERA 3.22 FIP 3.55 xFIP
Arrieta - 3.20 ERA 2.69 FIP 3.10 xFIP
In fact, other than Shark everyone's FIP is lower than their ERA. While injuries are always possible there's no reason to believe these starts aren't legit. In fact, you could make an argument in the case of Wood and Jackson that they could substantially improve if they start pitching more toward their FIP. So, even if the other 3 regress some they have room to grow. Jackson and Arrieta also have rather high BABIPs in .343 and .365. Hammel's is perhaps a bit low at .221. I wouldn't be surprised to see him regress a bit but it would have to be in the next month to matter most likely as he'll probably get traded in July. If they also trade Shark then all deals are off because while I think they can replace Hammel's production with Hendricks, they don't have anything to replace Shark.
As I've said for the hitting, it doesn't take much to improve what they have. They are currently 3-10 in 1 run games. They are also 1-6 in extra innings. Between those two stats that's 12 games(only 2 of the extra inning losses weren't 1 run games) in which you're arguably 1 hitter away from a win. If they had managed to pull out 3 wins out of those 12 losses they are roughly on pace for 70 wins right now.
So, while there are no guarantees in baseball, there's not much reason to believe the starting rotation will fall apart and having gotten Villanueva out of the starting rotation has actually made them better. And it's not like they are some massive ways away from being a 70 win team. That's my point about them not being as bad as people want to believe. Their starting rotation is good(11th in ERA) and their bullpen is good(11th in ERA). Conversely they are 28th in OBP. If they add a few players through trades/promotion and get that OBP to the 20 range they probably end up a 70 win team. The difference between 28th and 20th is 13 points. At this point in the season you're talking around 55 more hits/walks or roughly one more hit per game. The difference between the cubs and the 15th team is 95 walks/hits or roughly another 2 hits/walks. That's arguably what we're talking about being the difference between the cubs being the worst team record wise and a roughly average team.