If you need a stable computer with full support, buy DELL Vostro or OptiPlex with support (do not buy Inspiron);
If you are very tight in budget and know some hardware, buy from price.com;
If you know hardware well and want to also fulfill your satisfaction in building a computer from scratch, DIY one for yourself.
But if you can ask this question, you should not be a person who knows hardware deep enough. If you do not need to find satisfaction from building a computer, go to buy a ready-made, but please at least make sure u get the right CPU, amount of RAM, etc.
I never find building your own computer can guarantee better quality or lower price.