Congratulations on your cruise to Brasil. You will love cruising the Amazon area and Manaus.
In regard to the Visa. One has been required for as long as I can remember. If you live in an area near a Brasilian consulate you can obtain your visa or do it by mail. This will save you some money. Here is a link to a list of Brasilian consulates in the U.S.
There is some debate about the yellow fever shot. To cut to the bottom line; If the cruise line requires it; you have to get it or you don't cruise. It is also a very good idea as yellow fever outbreaks can occur in the Amazon basin.
Take care and Boa Viajem