Robinson Crusoe Island is a great place - VERY friendly staff, great entertainment and an awesome beach with hammocks to lie around in. The lunch is also very good and can be included in a package deal.
If you do stay in Nadi for any amount of time, I highly recommend both Horizon Beach Resort and Nadi Bay Hotel. I've stayed at both and had a great time. Nadi can be a good place to do some souvenir shopping and to launch an attack on the Mamanucas or Yasawas -- island groups to the north of Viti Levu. There are some great package deals that include transfers and a cruise out to the island.
A particularly popular island to stay on, especially for younger travellers, is Beachcomber Island:
http://www.beachcomberfiji.com/