So, these are all good programs that produce lots of output with very little code, but none of them are really short...
brainfuck, 5 characters, 255 bytes of output
I think this is the only use case where brainfuck really excels. I know this one isn't going to win, but I don't think we can possibly do better than the Python example. Not only that, but...
brainfuck, 4 characters, infinite output
I conjecture that this is the shortest infinite-output program out there.
Actually, hold on, my mate's just come up with a really good one.
Python, 80 bytes, unknown amount of output
from datetime import datetime
print "This will probably get disqualified"
This program will definitely halt eventually, but will only do so after roughly 8,000 years. The exact number of characters output depends on the rate at which your computer can produce characters.