As I understand it, if you take a picture of a public building from a public location (street, parking lot, park, etc.), that's okay.
If you take a picture of a public building from a privately owned location, you need permission from the person/company whose land you're standing on to take the picture. (But even privately owned drives and parking lots are considered "public" unless there are signs prohibiting photography or someone associated with the property owner asks you to leave.)
Taking a picture of a privately owned building from a public or private location requires the permission of the respective owners.
Exceptions may be made for newsworthy events, as opposed to any type of commercial photography.
But, what about taking a photograph of a statue, sculpture or other work of art that may be in a public location? For example, say your town is Smith, and there's a Smith Park, and in the middle of Smith Park is a sculpture of a abstract hammer and nails, representing John Smith building the community of Smith back in 1850. Smith has been dead since 1900, and the sculpture was installed in 1950 and has become a public landmark.
So, what's the situation with taking a photograph of that sculpture in the park? Can anyone take a picture and put it on their website, sell postcards, etc.? Or, must you contact the town of Smith for permission? Or, must you contact the original artist of the sculpture or his/her heirs?