You do not have to host it with them to get the $2.99 offer. BUT, if you plan on registering nameservers for the domain you can expect it to take about 8 days!!!
I bought a domain from them thinking "It's Yahoo, they are HUGE and probobaly have GREAT support!" WOW was I wrong! I asked them to register nameservers for the domain. First, they got the IP's wrong so I called them and got the old "We're looking into to it" line. 3 days later, after the issue had STILL not been resolved, I called again, same response.
In all it took them 8 days just to register the nameservers for me!
Long story short, I wouldnt suggest buying domains from yahoo. Spend the extra few dollars and go to godaddy!