Yes, you will need to get both a domain name and hosting for your free website. The free part is only the software that allows you to build the website itself.
A domain name is your website's address (URL) and I guess you could say that hosting is not unlike paying rent for your shop. Without hosting, you can't open the doors for business because without hosting, you don't get your store online.
Check out Go Daddy for both, domain and hosting packages are available there and are pretty close to the best prices you will find and are well supported if you need assistance.
Regarding better free website options, for e-commerce sites I think Zen Cart is always a good option to look at. Of course free website options always have their limitations, but I personally think ZC offers a good free option. That said, no idea if it is better than Ecwid as I've never used it personally or know any one else who has that could give a fair comparison between the two platforms.