The Internet of Things was for the longest time limited to bigger things. Costs of US$100 and more for a IP connected device was a given.
Arduino boards like this Ethernet Shield with a W5200 chip still needed a separate CPU. And it was not wireless, so add in a cable and a fraction of a switch. Newer possibilities are Raspberry Pi + USB WLAN stick (<US$40). Those were a bit expensive and quite large if all you want is switch on/off something small like a lamp.
Then came solutions like Spark Core which were relatively cheap (<US$40) and small. Slowly getting there.
And then the ESP8266 showed up, making most other solutions oversized and overpriced: About US$3 for the naked module (ESP-12) and US$11 for a small dev module. And you can program it in C or Lua or JavaScript. And not only is it cheap and quite capable, but it is also small, low-power and it’s easy to work with and connect it to various interfaces: GPIO, I2C, SPI, RS232, PWM etc.
Here an example of the blinking LED in Lua:
gpio.mode(4, gpio.OUTPUT) led4=0 function switchled4() if led4==0 then gpio.write(4, gpio.LOW) led4=1 else gpio.write(4, gpio.HIGH) led4=0 end end tmr.alarm(0,1000,1,switchled4)
This leds the LED connected to GPIO4 (internal numbering, just like Arduino does) blink. And here a link to an example which uses a web page with AJAX to toggle 2 LEDs.
All in all, there is no reason to NOT allow pretty much anything to be connected to your WiFi network.