Five ferry-companies are competing now on this line. But instead of dragging down the prices, they just make the price structure more complicated... Prices are between 18 € and about 40 € for a oneway journey. Prices depend on when you travel, if you travel with a fast or slow vessel, in which direction you travel, in which country you buy the ticket and (on some lines) when you buy the ticket.
At the moment it seems to be that Viking Line offers the cheapest tickets from Tallinn to Helsinki. From Helsinki to Tallinn Eckero Line seemed to be the cheapest. If time is more important than price also Nordic Jet Line, SuperSeaCat and Tallink have valueable offers.