nigelivey :
Yes and no. Some are very good at client discovery and some routers are very poor at reporting if at all. So to say the ONLY way is a bit far of the mark.
By definition a router handles all traffic that flows through it and keeps track of what is there. Whether or not it reports it is another issue entirely.
And while some might be good at discovery, I could program an arduino in 10 min to connect through the network to a specified outside server without having that thing being noticed by anything other than the router (i.e. sketchy stuff that malicious devices do). On top of that, those programs can't detect how much bandwidth is being used by other devices, again, it's something only the router can do (assuming consumer equipment, and that the router has that functionality, which most dont)