Let's say you want widget.tld - but it's taken SEO-wise, would it matter which one these alternatives one went for? netwidget.tld widgetnet.tld net-widget.tld widget-net.tld
If you can get the domain with your keyword and without hyphen then go for it, else include a hyphen to get the domain with the desired keyword. TLD won't matter much unless you're aiming for a specific country.
widgetnet or netwidget are same SEO wise, but differ from widget-net and net-widget (although the difference might not be that big). It's always better to get domain names without hyphens as mixke said.
Domains are cheap get both the hyphenated and non-hyphenated version, park the non-hyphenated one on the hyphenated one. Keywords in the domain can help search engine ranking. Just as you should name "sub-pages" with related keywords and phrases having the keyword in the domain can help.