On the left here is Coconut, with Cotton on the right.
As you can see, there is a difference, but it's a pretty subtle one! So, do you need both?
I've applied them here on alternate nails. Thumb, middle and little fingers are Cotton, index and ring fingers are Coconut. This photo is in fairly bright direct light, and shows how Cotton is brighter and whiter, with Coconut being very slightly beige-white. It's not a huge difference though!
This photo is in the less bright light of my living room. The difference becomes much more obvious here, although again, it's fairly subtle.
This photo was taken outside in daylight, and again, shows the difference between the shades. It's far less obvious outside.
As far as formula and consistency goes, I really like both. Coconut is a two-coater, definitely (although I know some people like three). Cotton is a bit thicker and more pigmented, and if you're one of those people who does quite thick coats, you could get away with one, especially if you're going to do nail art on top of it. While I'd never wear all-white nails (too much like a 14 year old playing with Tippex!), Coconut is slightly more flattering and less harsh if you were going to wear it on its own. I have surprised myself how much I do use white polish though - either as a base under neons or sheer glitters, or for stamping, or under water marbling, or for blending into gradients or for freehand flowers or dots or stripes... and so on! If you're doing that, then I reckon either polish is good, and I think I need both!
If you're still stuck, here's a handy dandy flowchart to help you!
(My colleagues will tell you how much I LOVE a flowchart! They come second only to spreadsheets in the list of things I love.)