Freddie was the one who won, but gave it up to Missy to "protect iCarly." However, it was heavily implied that he did it for both Sam and Carly, since Sam was miserable when Missy kept trying to get rid of her as Carly's best friend and Carly was being tricked and used by Missy. This proved that Freddie really does care about Carly, Sam, and the trio's friendship.
After that happens, Freddie admits to Carly that while he doesn't regret what he did, he's mad that Missy doesn't get any real comeuppance for all the trouble she caused other than losing Carly as a friend, which she didn't seem to care about anyway. Carly understands this and reveals that Missy used to suffer from seasickness when they were younger (back when they were still friends), but figures that she must have overcome it, given how excited she was about "winning" the School at Sea-contest.
However, with or without Missy in the picture, it's ultimately a good thing that Freddie gave up the School at Sea-program, becaues it turns out that the trip is nowhere near as glamorous as it's advertised to be--the end of the episode shows that, rather than taking place on some luxury cruise liner (like what was advertised on the school's sign-up sheet), the program takes place on what appears to be some kind of cargo ship.
Also, in a nice bit of ironic karma, the end of the episode also shows that, despite Missy being genuinely excited about "winning" the School at Sea-contest and Carly's assumption about her ex-BFF overcoming her seasickness, Missy does still suffer from seasickness. The episode utlimately ends with her barfing over the side of the ship she's on and screaming, "Get me off this stupid boat!"