How is sFlow different from netFlow, and how is each supported by different vendors ?
NetFlow is a protocol for exporting aggregated IP flow totals. As such it is well suited to IP traffic accounting on Internet routers. With Netflow V9 (AKA IPFIX it can look into Layer 2 traffic as well)
sFlow is a general purpose network traffic measurement system technology. sFlow is designed to be embedded in any network device and to provide continuous statistics on any protocol (L2, L3, L4, and up to L7), so that all traffic throughout a network can be accurately characterized and monitored. These statistics are essential for congestion control, troubleshooting, security surveillance, network planning etc. They can also be used for IP accounting purposes.
Netflow mirrors all traffic, and places a load on the CPU when utilised.
SFlow is a packet sampling technology where the switch captures every 100th packet (configurable) per interface and sends it off to the collector. sFlow is built into the ASIC, and places minimal load on the CPU.
Netflow supported by Cisco, Juniper, Alcatel Lucent, Huawei, Enterasys, Nortel, VMWare
sFlow supported by Alaxala, Alcatel Lucent, Allied Telesis, Arista Networks, Brocade, Cisco, Dell, D-Link, Enterasys, Extreme, Fortinet, Hewlett-Packard, Hitachi, Huawei, IBM, Juniper, LG-Ericsson, Mellanox, MRV, NEC, Netgear, Proxim Wireless, Quanta Computer, Vyatta, ZTE and ZyXEL (see sFlow link)
The sole difference being "NetFlow is Cisco proprietary, sFlow is not" isn't exactly correct.
NetFlow originally started out as Cisco proprietary, but kind of went the same way as GRE or EIGRP. Since NetFlow v5 it has been implemented and supported on other vendors' hardware.
The main difference between NetFlow and sFlow is that NetFlow is restricted to IP only, whereas sFlow has the ability sample everything (network layer independent).
EDIT: The above appears to be no longer correct (at least as of the IPFIX standard). I've found the following blog post (warning: seems to be an "sflow" specific URL, so take it with a grain of salt if you wish) does a pretty good job of outlining the differences between the IPFIX spec and sFlow
Cisco devices try to aggregate flows (you can think of them as conversations) and then export information about them to a collector. This requires memory to cache these.
sFlow has two major components: one where it will periodically export statistics like interface counters and CPU usage to a collector, and one where it will randomly capture 1 in N (configurable, usually 512 up to 32768) frames that pass through a router, and export the first 256 bytes. You can then perform statistical analysis on traffic flowing through your network.
sFlow packet samples are enhanced with information from the routing table such as AS paths. It is also v4 and v6 agnostic, unlike NetFlow, which forces you into an uncomfortable compromise depending on what type of data you want to receive.
NetFlow suffers from dating back to an era where flow-based routing was not yet considered a joke; sFlow suffers from not being a TLV format so implementing vendor extensions in a portable way is close to impossible.
Netflow is a Cisco proprietary protocol and as such is not supported by anything other than Cisco devices.
sFlow is an IETF standard for doing pretty much the same thing but in a standard that isn't owned by one particular manufacturer.