Ubud is probably the best place for shopping on Bali. Traditional art and handicrafts are available in abundance, without too much of the junk that clutters up the beach resorts. Things to look for include paintings, masks, batik cloth and clothing, and jewelry. For cheap souvenirs, the Art Market is the place to start. Better quality items can be found in the many small shops lining Monkey Forest, Dewi Sita and Raya Roads, as well as the many art galleries around town.
Among one my favorite finds on my most recent visit was Kou, a small shop on Jalan Dewi Sita selling organic soaps. The quality seems much better, and the price much cheaper, than the other brand of "handmade" soaps found all over Bali.