A few things here:
1) Batteries last 2 years under the absolutely ideal conditions (a user who never leaves the computer plugged in for days on end, and who regularly fully discharges and recharges the battery).
2) No user has ever used a battery under ideal conditions. In my experience doing laptop repair and working with laptops, the batteries last 18 months in good cases, and as little as a year in bad ones.
There are a few "tricks" you can use. For example, there are "battery recalibration" programs from both dell and HP for certain models of laptop. Google your model + battery calibration to see if one has been released for yours. Sometimes they help, often they don't.
Otherwise, the only thing you can do is a standard battery recalibration yourself. Charge the computer fully, then discharge fully 2-3 times, this will recalibrate your battery to its maximum available life. However, at the age yours is, I imagine the battery is simply old and dead.
I know you say you can't afford a new one, so the trick there is to hit up ebay and get yourself a nice cheap Chinese battery. They are not as good as those you get from the manufacturer, but they work well for awhile, and if you're looking to save money, it's the best way to go.