Differ from Diablo 1 & 2, farming in Diablo 3 is almost entirely random because the type of items you and the amount of gold you get, and even the enemies you face are entirely random. However, this does not mean that farming is an impossible task. Actually, it depends on how you deal with your enemies and how your luck of farming goes.
As there are varieties kinds of enemies in Diablo 3, ranging from normal demons to rare enemies to unique bosses, and from which will drop different items.
Normal Enemies, which are indicated by white font, will only drop items of average or even low quality, and little gold. Elite Enemies, indicated by blue font, may drop a larger amount of gold and magic items of better quality, and normal items with higher stats. And if you are lucky enough, elite enemies of higher difficulty may drop a rare or legendary item. If not, on higher difficulty, they at least drop items better than normal. Rare Enemies, indicated by yellow font, is possible to drop good quality rare items , while at most time drop high-quality magic items. Bosses, indicated by purple font, tend to drop high-quality magic items. When you kill almost all of the main bosses, they will drop at least 1 rare item.
Rare and Elite enemies considered by the community to be the most efficient high-quality item droppers in the game, even above Bosses. One thing should be known that your enemies, especially the rare and bosses, show up randomly. It's almost impossible to farm repeatedly, which is a successful way of usual farming.
If you want to farm for excellent items in Diablo 3, first you should be clear of what you are looking for, not some ignorable normal items, which often drop along with plenty of damaged items. You should go straight to magic and rare items. There will be the possibility that some magic items are better than rare items, but this is based on your fortune. So if you are willing to farm legendary items repeatedly, it's almost impossible.
For Unique Items, known as legendary items and set items, are in a league of their own, they're drops are completely random. It is often a misunderstanding that it's easier to get Legendary Items on higher difficulties than lower ones. It may happen in Diablo 2, but in Diablo 3 the randomization of Unique Items makes their drop unpredictable.
Because of the random feature of Diablo 3, many players have found Legendary items within the first 10 levels. There are even more people who have completed 3 Acts of Inferno in 80 hours with none Legendary item.
Gold farming is much simpler than item. Usually as you play in higher difficulties, the amount of gold drop by enemies will increase. So in Nightmare difficulty you will find more gold drops than in Normal, and similarly in Hell difficulty you will find larger Gold drops than in Nightmare. In Inferno mode, you'll probably find Gold drops of more than 480 even from normal enemies.
Gold drop will also increase according to the type of enemy – Elite, Rare and Bosses have larger amount of gold drop than Normal enemies.