Our Roku had been working fine forever then wouldn't connect to the internet. Tried resenting the Roku, then the Router, then reset through system preferences, then through the button on the back of the physical Roku, then a hard factory resent. Still would not connect, double/triple checked the router password. Bought a new roku, same problem. Our internet provider is Comcast.
So apparently internet providers will reconfigure their routers automatically a various points in time to STOP ACCEPTING PASSWORDS WITH SPECIAL CHARACTERS. Saw this happened to someone who had century link and they were able to change this back to "accept special characters" through their advanced settings of their century link account. I however couldn't find this in the comcast portal.
So the solution is just change you password to normal characters. Take out any of the special ones (@, $, _, !, etc) then once it's saved enter the new password with the regular characters into the roku and it will connect. Hopefully this saves someone some time out there.