Why do anime (in general) have so much time in between seasons? Many shows in America (I am using the US as example because I live here) have TV shows announced almost right away. There aren't usually gaps of more than a year in between seasons.

However, for anime, there are usually several years gaps in between seasons. For example, Attack on Titan has a couple of years in between seasons, and the Fate series had several years in between all of them.

Is this because they aren't very popular, or is it due to a different reason?
There are sooo many anime series (and manga for that matter), that broadcasting companies don't know which will be hits and which won't be at the time of establishing a contract with a studio.

The fact is, when a studio gets the green light to do a series, it is typically one season; that is, with the exception of some of the Jump comics that have long-running series (e.g. Naruto, One Piece, Bleach, and so on).

So when the studio gets the green light to start production, the number of episodes is already decided. For some, this is enough to do a full story arc and have a clean ending. Others end more openly or on a cliffhanger. This can drive the audience to pick up the manga to see how the story continues, or to the hopes of the studio, the popularity will be high enough that the audience will request or demand a second season. This is evident in the recent Shingeki no Kyojin (Attack on Titan) boom.

This is also true for Japanese dramas. Typically, they are all one season. And if there is a second season, it comes much later because the studio and the TV broadcasting company weren't originally planning to make a second or third season from the get-go. This means you also have to account for production time between the seasons too.

Hope that helps. (My only reference is that I lived in Japan for over 5 years and saw this happening a lot and heard about it in the news.)