The funny thing is - in most cases - it is just "not necessary"
Many look to "gobs of memory as a panacea", a solution to a performance problem. They get it, install it, configure it, and have to start working with their heads anyway (because it is not a silver bullet for all problems).
Given the size of todays machines however, I would argue that a 5gb SGA is not "very large" (well, on a typical windows machine with all 32bit goodness, it is the stuff of fantasy - but on a real server machine...). 5gb is pretty common. Even 10-20gb are. SGAs in triple digits are interesting - as they would be called 'large'.
When is a large SGA bad - when you made it large in an attempt to hide a performance issue that should be fixed (with much better results) using conventional means (eg: program efficiencies).
When is a large SGA good - when the above paragraph is not true.
The problem is - some people try to increase and increase the size of their SGA to mask an underlying problem. For example "we hard parse like mad, do not use bind variables, the SGA advisors say go bigger" - when in fact, going smaller would likely be the right answer as you are not able to reuse SQL anyway, so might as well make the shared pool more efficient by making it smaller - not larger.
wouldn't it be a shame if someone trying to "tune" the second query here:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:6749454952894#6760861174154 said "look at all of that physical IO, let's make the buffer cache bigger". Then it would be bad.
So, a big SGA in itself is not "bad" or "good"
The reason for having a big SGA might be bad though.