<<
my friend wants to know what is faster dsl or cable and why >>
Theoretically speaking: Cable can support speeds of up to 10Mbps. Residential DSL tops out at 1.5Mbps (business grade services can go higher).
Practically speaking: This all depends on your ISP, their bandwidth cap, and the saturation at their head-end.
Another notable issue with cable: cable uses a shared bandwidth architecture, which means as more users in your immediate vicinity use the bandwidth, the bandwidth available to you goes down immediately. DSL uses a Point-to-Point architecture, so bandwidth is not shared locally. Of course, at some point at every provider, bandwidth is shared. There is just more opportunity for DSL providers to mask/mitigate any bandwidth issues.
For some folks is not a matter of choice. DSL distance limitations preclude the possibility of using anything but cable.
Check this
site for excellent info about DSL and broadband in general.