I've read about both repeater bridge mode and WDS in the DD-WRT documentation. It sounds like they solve the same problem, but it's not clear from the DD-WRT documentation where they differ, if at all. What are the advantages and disadvantages of each? Should I prefer one to the other if my routers support it?
WDS is supposed to be guaranteed to work if both devices support it. The other AP must be specifically configured for WDS mode and for the hardware address of this device. The two APs synchronize their lists of clients, and each accept traffic from (and for) each other's clients. It's the official "right way" to do things.
DD-WRT's repeater bridge mode tries to provide the same basic capability as WDS without requiring any special support from the remote AP. Essentially, it pretends to be a wireless client of the existing AP for every device connected to it, whether wired or wireless. This convinces the existing AP that all those devices are connected directly to it, and it "just works".
One downside of repeater bridge mode -- clients can't move seamlessly from one AP to the other. I would suggest you use WDS if you can, and fall back to repeater bridge if WDS is not an option.
You don't specify what your end goal is, but here is a link to some good info that is likely to help you out regardless of what you are doing. The link has a table that indicates when you should choose WDS over repeater bridge and vice versa.
Since you don't say what your end goal is it may I should mention client bridge as a possible solution. WDS and repeater bridge both share a common downfall, that is, for every hop, the effective bandwidth is reduced by half. This may not be of concern to you, but if it is a client bridge might be the answer. A client bridge is basically a wireless connection between an AP and a client router. Other wireless connections can be made to the AP, but the not to the client. Only wired connections can be made to the client (unless the router in question is dual band which is optimal for this situation because you can create the client bridge on one band, but still allow other devices to connect to the client on the other band).