If there's more than one of you, the train is even cheaper. In 2012 when I did this route with my mother, the train from Berlin to Dresden was €38 full fare per person each way, but €19 Saver fare for one and €29 for 2. So, with the Saver fare, we saved €47 each way. The catch is that Saver fares are only good for one specific train.
It's your choice, of course, but if bus fare for 2 is €20 and train fare for 2 is €29, I know I'd take the train.
I was advised that although train reservations are optional on this route, they are a very good idea. They sure were for us. On the way back, the train was quite full, and many were sitting in the aisle on their luggage. With our reservations, we simply went to our seats, stashed our bags above them, and relaxed. Reservations were €4 per person at the time (I believe they're €4.50 now), so you do have to add that to the cost of the train tickets when comparing with the bus.