There's only so far you can go with making MIDI intruments sound better.
First, there is the issue of the instrument sounds themselves. There are two basic types-- completely synthetic sounds that are built up and sound something like a real instrument, or like nothing that ever existed. Then there are the sounds that are essentially digitally-recorded snippets of real instruments. These can often sound startlingly lifelike, or unbelievably fake, depending a great deal on the complexity of the real instrument and how it is really played. For example, one doesn't play a saxophone by pressing keys, one blows into it. It is very difficult to make a sax part played on a keyboard -- or more so, typed in as notation -- sound like a real sax played by a human being, no matter how good the sax patch might be. There's just too much subtlety present to be captured that easily, and that's what makes the difference.
This brings us to the issue of performance. If you enter the notes on a staff, the piece will play back perfectly -- which human beings never do. It will therefore often sound somewhat stiff and soulless, especially music that swings or grooves. Real instruments are played expressively and, depending on the intrument, often have all kinds of factors that are at play that simply are not captured by a single set of samples. Back to the sax again. You can slur, you can overblow, you can tongue the reed, all kinds of things that players do all the time that makes what they play sound interesting and distinctive. This simply cannot be easily faked by just playing pitches that are part of a sax patch. They can be faked, but the amount of work is often prohibitive -- it's probably easier (an cheaper if you consider the cost of your own time) to hire a sax player to play your part and record him -- that is, if you want the music to sound real.
An in-between approach that many people take is to use MIDI synths only for the parts that are relatively easy to mimic that way -- drums, pianos, organs, in general instruments that have less of a variety of ways that they can be played. Then they layer real people playing the more distinctive parts, especially guitars, horns, violins. Real drums really breathe life into a recording, too, and even just doing the snare and ride or hi-hat over a MIDI drum part will go a long way to making it sound "real."