@fqqs: The idea is to progressively overload the muscle to induce muscle adaptation (hypertrophy/strength etc).
So if you are struggling to get the last rep on your first set, that's fine, so on your second set you will try to get as many reps as you can and so on until your last set.
eg; Squats,
Set 1: 100kg x 8
Set 2: 100kg x 7
Set 3: 100kg x 5
Set 4: 100kg x 2
So to progressively overload the muscle there is plenty of ways to do it, using the above example I could continue to try to add a single rep to each Set after the first to increase the workload (which is a way of progressive overload) each workout until I get to the goal: 4 Sets of 8 reps. Than I could add weight and start again.
This is just an example, I chose squats and 100kg as it was just off the top of my head, use a weight that you can work with and progressively add the workload to either by adding reps (as the example above) or by adding more weight to each work out.
EDIT: Also, if you are struggling to get more out of the weight your lifting you can always have a longer break between sets etc. There is plenty of ways to go about it. Just remember that when you do a program that states 3x8 etc, it is only a guide, this guide is what you are aiming for, but practical progressive overload is the goal to more/stronger muscle, you have to go up in weight to get bigger/stronger. So use these numbers as guides and when you reach the desired number of sets/reps go up in weight.