Do a bit of research around the best season to visit each place and you may have your answer. I am not an expert but if I recall correctly, Phuket's good season should be coming up.
I personally like Bali more but that's because I like muck diving and shooting macro. In Bali, I would recommend sticking to Tulamben, Seraya, and Amed for macro and Nusa Penida for mantas (mola mola season is July-Aug). Bali is also great for food, culture, and just generally chilling out. Maybe the same could be said for Phuket, but I have always liked Bali more.
The Similan islands have very healthy reefs and are well protected so the reef fish life is very vibrant. It is a wonderful thing to see a healthy reef scene with lovely soft and hard corals and reef fish. Richelieu Rock is known for mantas but only during manta season - I went out of season and found it quite disappointing. I did the Similans on a liveaboard and I understand that is how most people do it. I guess land based vs. liveaboard will figure in to your decision on location as well.
I don't have any view on the beaches as I was in both places primarily for diving.