There are two major reasons for the Spanish-American War, both having to do with the United States.
First, people in the United States were concerned about the way in which the Spanish were treating their subjects in Cuba. There was an independence movement in Cuba that was being harshly suppressed. Americans felt sympathy for colonists trying to be free from an oppressive ruling country.
Second, the United States had a strong desire for war at this time. Many Americans felt that the country needed to prove its importance and power. These Americans, like Theodore Roosevelt, felt that fighting a war and, perhaps, taking an empire were necessary in order to accomplish this.