Hi KP
There really is no limit but URL's with many hyphens tend to look spammy.
Remember the old days of long partial match URLs? www.cheap-car-insurance-for-u.com? and suchlike? They just look really crappy. If you really must use one in the TLD then limit it to one.
For Pages & Posts, it's quite common to see more use of hyphens. I'm editor at a music blog and it's quite common to see for example:
sitename.com/the-rolling-stones-manchester-live-review It looks natural even though there is a stop word in the URL because 'The' is actually part of the Stones' name
You will get a warning in Moz because of the long URL but it will not stop it ranking well, at all!
For images, it depends on how descriptive you want it to be. If the image was of Mick Jagger in Manchester then the image URL could easily be sitename**/mick-jagger-manchester-old-trafford** and then the Title or Alt text tag would be 'Mick Jagger - Manchester - Old Trafford, so highly descriptive with a couple of hyphens and great for image SEO.
So it's up to you really - the more descriptive the better. Ignore warnings of long URLs unless they are stupidly long and focus on enhancing the ranking of the page rather than worry about minutiae.
Now:
If you are talking about Meta Titles then it's common to use a variety of separators such as a hyphen (-) or a bar (|). In that case, it's fairly simple as you need Primary Keyword - Secondary Keyword - Sitename so they are often limited to just two.
I think the more you use them the less space there is for Keywords and it's important with a limited length (60-70 characters) to get those in as a priority. The hyphen takes up 3 characters so they are largely a waste of space.
I hope that helps
Regards Nigel