I think that really depends on the level you are at and your personaly preferences.
I always liked pragmatism and thought the only good way to really improve my playing was just learning song after song after song..., but I eventually hit a wall where I simply could not get to play fast solos, no matter how often I tried. I realized it was not my dexterity that was limiting me, but my actual technique.
So I went back and did training exercises. Day by day, nice and slow, as you get it learned by any teacher out there. I noticed that all the excuses I always used for not doing exercises were just what they are: bad excuses. You got the time, no matter what you say. So I finally put my stuff together and started practicing, not just playing.
The progress I made during the last 3 weeks exceeds the progress of the last two years combined. Not only did I got faster, but I also noticed that all my playing got smoother, cleaner. When I recently made some dry guitar track recordings for older songs and compared to my old ones, I can't believe how much has changed since then.
As I said, it really depends on your current level, but there are three advices that really helped me improving (and I consider myself a very amateurish player):
1) daily but short practicing ... develope a routine! It's better to practice for a short time every day than practicing once a week for several hours - it's also much better for your fingers
2) compare your progress ... I can't tell how much that helped me getting back confidence in my playing. Do dry records of your songs every now and then and compare them some weeks later - you WILL notice the difference and it's motivating as hell (the light version of this is using a metronome and increasing the speed over time, but playing is more than just speed, so I highly recommend making recordings)!
3) When you are done with your daily training, relax by playing whatever you want! This is important, as technical exercises are very exhausting and might suck some of the fun out of playing - and you certainly don't want that to go.
Actually, trying to create your own songs is also a good idea. I did that right from the beginning (as I don't like covers) and I can only say that it helps so much to improve your general feel of music. I listen to music totally different now compared to when I started writing songs - in a positive way.