You are right, there is no one way to add a LAN device, like there is when pairing Zigbee or Z-Wave devices. So in my case, for things like my Logitech Harmony Hub, Philips Hue Bridge or my Kasa Smart Plugs, they all require a custom or built-in app that is written to specifically communicate with the device as there is no "standard" in the way there is for Z-devices (let's not get bogged down with the variety of standards adopted in Z-devices ).
So for LAN devices you typically need some protocol / API a developer can call to establish a connection and communicate. This can be using UDP / TCP connections..... and this is where it gets outside my comfort zone... I'm more comfortable with those who have a REST API, which typically means cloud-based solutions.
Anyway, back to your main question... I'd suggest looking at the Device Compatibility List for those devices supported natively by HE, plus the list of Community-supported devices. Just because a device does not appear on these lists is not always a guarantee it won't be supported in some way, so it always pays to post here on the Community like you have. Plus there can sometimes intermediary systems that can help to open up control via HE. As an example, I have a Mousepad with an LED strip that can be controlled via local HTTP calls on my laptop, but not from outside, but I use EventGhost running on my laptop to provide something I can use to trigger adjustments in the mousepad from HE.
EDIT: To add a bit more to @sburke781's excellent summary, wifi device drivers typically are able to auto discover the devices or ask you to enter the device IP address in order for HE to be able to communicate with it using the API (typically provided by the manufacturer, or reverse engineered).
If you have a specific thing you'd like to control (more often than not someone already beat you to it - so searching is the best option), best to be specific about your use case and the make/models of these things to help the ppl here to assist you.
Ok so you create a virtual switch. Then you expose that switch to alexa. Alexa just sees it as another switch. You then create a routine on Alexa that when switch X is turned on, Something happens with a device connected to alexa. Then you write your rules on HE using that switch. So on HE Trigger = motion sensor detecting motion Turns on Virtual switch X which tells alexa to lets say open your Garage door. (please don't do that because you will be driven nuts by your garage door opening and closing all day
IFTTT can help if everything else fails. Not ideal, but if your wifi device supports it then you can usually manage some automation via there as well. I use IFTTT with Arlo Cameras for bringing motion from the cameras into HE using Virtual Switches.
I played with it but had a lot of problems trying to get the Bosch accounts setup. I can't remember the error now but it's the one that others have come across trying to get it working. I finally gave up and went back to IFTTT. Both methods are cloud based so I didn't see a real advantage to continuing to struggle to get the community integration working.