When I stopped lifting random weights and started an actual 'program' (a basic 5x5 starting strength routine) I had much better results as well. I am at an intermediate level now according to
http://www.exrx.net/Testing/WeightLifting/StrengthStandards.htm so I will probably need to change things up a bit to keep on getting gains, But i pretty much just do Bench, Overhead press, Deadlifts and Squats. Takes about an hour each time, twice a week (or more if i get time/feel like it).
I really only wanted to be able to lift the 200lb guys off of me who i would be getting crushed by in grappling, and now that i can almost do that I might just stay there and work on getting more reps out of that weight. And since I have a function for the benchpress movement, does that mean that benchpressing is actually a functional strength? haha.
I also still do bodyweight exercise, because lifting heavy weights in say, a squat, is a little bit different than jumping as high as you can from a squatted position with just your body weight, and i feel that both are important.
Also, doing bodyweight things.. I used to be able to almost hold a planche, but when i started lifting, my body got heavier and made doing things like that more difficult. It took a little while to get used to doing a butterfly twist with a heavier body weight. I also lost some flexibility because the time i used to spend on yoga went into lifting, So when you get stronger, you have to work harder on other aspects of your physicality to keep everything balanced.