The 28-year-old has penned a two-year contract with the Super League side, with the option to extend the deal by a further 12 months.
"I only signed at the Storm for one year, and we were not quite sure what I was going to do after this year, in terms of hanging around or possibly going overseas," Roberts is quoted as saying by Sky Sports News.
"I suggested to my manager that we should have a fish out and about, just to see what was out there.
"It just so happened that Castleford came in the picture, so I was trying to find out a bit of information about the club. I heard nothing but good things about the club, and they came from people who had played there in the past."
Roberts has represented both New Zealand and Samoa at international level.