I'm not a huge fan of tofu, but I do eat it once in awhile. Unless you're having the soft, silken kind, you should press it first. Other posters have outlined the process. Freezing it first also totally changes its character. It becomes chewier. (Drain the tofu, put it in a freezer Ziplock bag, freeze solid, then take it out to thaw in the fridge the night before you want to eat it. A ton of liquid will come out. Pour that out, then press the tofu like usual.)
My favorite way to have tofu is baked, actually. Marinate it and then bake on a greased or non-stick cookie sheet. It totally changes the character. Depending on the sauce/marinade, the outside can get crispy and the inside will stay tender, or it'll get all chewy and nice and mmmm.
Here's my recipe for barbecued tofu:
You will need:
A block of extra firm tofu
About a cup and a half of your barbecue sauce (I make my own)
Half an orange
A dried chili pepper
Pre-heat the oven to 400 degrees.
Put the barbecue sauce into a pot on the stove and heat it gently. Add the juice from the orange and the dried chili and stir. Let it bubble gently.
Slice the tofu. You want about 8 slices from the block.
Put about half of the sauce into a bowl and coat each slice of tofu with it. Place the tofu slices on a lightly greased cookie sheet and put it in the oven. Cook for about 20 minutes, turning halfway through cooking time. (You can alter the cooking time and temperature depending on how you like your tofu. A hotter oven or longer cooking time will make it chewier and get you some of that nice burned-on caramelized sauce. A cooler oven will keep the tofu more tender.)
When the tofu is done, take it off of the cookie sheets and cube it. Be careful, it's hot! Toss the tofu cubes with half of the remaining barbecue sauce.
I put it on a sandwich with cole slaw.