If I narrowed it to those two only, I'd go with Amazon, because it will likely arrive earlier. Roku shipping isn't the fastest.
I'd head to Walmart, Best Buy, or some other retailer and pick one up in person, if they are in stock, if I needed a Roku. I'd only buy online if my schedule didn't allow me to run by a retailer, or if there was a great online deal, or opportunity to cash in rewards points or something that brought the price down.
DBDukes http://www.dbdukes.com/Roku Ultra (4660) Roku Streambar (9102) Roku Streaming Stick+ (3810)