I recently bought a Casio keyboard for $130. I wanted something inexpensive, lightweight and portable, with touch-sensitive keys. I didn't care about weighted keys (to make them feel like acoustic piano keys when pressed) or about a full set of 88 keys (7 octaves), because I never use the highest and lowest octaves anyway.
The sound of the keyboard itself is fine, but I'm mainly interested in using it as a midi-controller keyboard. I am able to greatly improve my recordings by recording in midi format. This basically means I use a USB cable to send a set of instructions (kind of like sheet music) to my computer, telling it when to play what notes, how loud or soft, how long, etc. This is a versatile format that is pretty much only limited by the set of samples that are used to render the final sound file.
If you use a good set of samples, that is, actual sounds that have been recorded from instruments and can be manipulated to whatever pitch, loudness, or length is needed, then your finished midi rendering will sound great and very realistic. If your set of samples is basic and consists of mostly synthesized (generated by a computer instead of recorded from real instruments) sounds, it won't sound nearly as realistic.
I use a format for samples called soundfonts. Text fonts give us many ways to display the same underlying information, the text. Soundfonts give us many ways to listen to the same underlying information, the midi performance data.
First I connect my keyboard to my computer with a USB cable. I record midi to my computer using a free program called MidiSwing, but only because I can't figure out how to get the next program I'm going to mention to recognize my keyboard. I record the midi and save it. I then open Linux Multimedia Studio and go to File > Import to import the midi file.
Then I click on the track I just imported to open the soundfont properties, and open up this beautiful piano soundfont, which I found after a few hours of thorough Google-searching.
I edit the sustain properties in this window by clicking the "ENV/LFO" tab, and changing release (REL) to 0.5 and modulation amount (AMT) to 1. Then I save the midi with the new soundfont as a wav file by going to File > Export. Bada-bing-bada done.
UPDATE: I don't often record in midi format anymore, as I just send the line-out jack from my Casio Privia PX-330 into the microphone jack in my laptop. The samples on my new keyboard are already so amazing that I don't feel the need to supplement them with soundfonts. The method described in this article still works great though if you want to improve a cheaper keyboard's piano samples!