Both. There has been plenty of padding addd in recent years - the Reading service runs on the old leaf-fall timetable 12 months per year now (a WorstGroup “improvement”) - with no discernible performance improvement. All that it seems to do is encourage sloppy operating - the whole organisation needs ripping apart and the issues addressed properly.
Lots and lots of padding.
Just looked up an old timetable (last Southern Railway one, Autumn 1947) for Suburban area, and suburban trains arriving peak hour into Waterloo at peak from 8am were :
07:25 from Hampton Court arrives Waterloo 08:00 (35 minutes)
06;42 from Reading (with via Frimley , joining Ascot) arr 08:02 (1hr20)
06:52 from Horsham (Dorking 07:18) arr 08:03 (1 hour 11 min)
07:13 from Guildford via Cobham arr 08:05 (54m)
Kingston loop (Teddington 07:35) arr 08:08 (33m)
07:39 from Chessington South arr 08:11 (32m)
07:11 from Weybridge via Virgina Water arr 08:12 (1h 1m)
0716 from Windsor arr 08:12 (56m)
Kingston loop (Strawberry Hill 07:44) arr 08:14 (28m)
07:43 from Hampton Court arr 08:17 (34m)
07:30 from Shepperton arr 08:20 (50m)
07:38 from Twickenham via Whitton 07:40 arr 08:22 (44m)
07:44 from Shepperton via Richmond arr 08:24 (40m)
Looking at today's (very slow) timetable with similar arrivals from 8am
Hampton Court 40 minutes +14% (+18% on 34m train)
Reading 1h 27min (but not joining at Ascot) +9%
Dorking (no direct Horsham) 57 minutes +27%
Guildford via Cobham 1 hr 4min +18%
Teddington 39m +18%
Chessington South 39m +22%
Windsor 58m (but not joining at Staines) +4%
Strawberry Hill (46m) +64%
Shepperton via Kingston 56m +12%
Whitton via Hounslow 50m +14%
Shepperton via Richmond 1h 3m +58%
So generally padding has added 12-27% to journeys, some journeys that lost their semi-fast service up 58-64% in time. Where trains used to combine (so time was taken up waiting and joining portions) still slower without the portions being coupled.