Beacons are inexpensive pieces of hardware that sit in physical locations like retail stores, stadiums, airports etc. They use a special version of Bluetooth, which is a low power, short distance communication protocol. All that beacons do is transmit data, meaning beacons do not collect any data from the devices that they send information to, and all interactions with that beacon are done by the device with reference to the information sent by the beacon.
Each beacon has a unique identifier associated with it, which it transmits - along with beacon-implementation-specific data (discussed below). The phone can use this signal to determine proximity to that beacon. For example, if you had a Duane Reade app on your phone, it would be able to identify the store through beacon ID - and using proximity to one or several beacons, your position in an aisle could be determined (and maybe deliver coupons or something). The beacon itself wouldn't send the coupon, the appropriate app would get the beacon information, determine the proximity information - which is accurate to about 10" for beacons - and communicate via the app to the servers for any relevant offers etc.
It's worth noting that, as far as understanding position, NFC (near field communication) is too short-range (this is what Apple Pay uses) and GPS is too battery-intensive to always have on and doesn't provide accurate-enough location data to enable the sort of behavior discussed above, and GPS often doesn't work well indoors. The beacon device itself is also very low power, so you can just put it somewhere without plugging it in, and batteries can work for a couple years.
iBeacon is Apple's implementation of beacons. iBeacon is a technology built into iPhones, iPads, etc that enable them to scan for beacons and then wake up the appropriate app on the device. In fact, the user doesn't need to have the app open, as long as the appropriate app is installed it will interact with the beacon message. A physical beacon doesn't have to be an iBeacon, but it needs to send the iBeacon-encoded message - the developer of the app would then use Apple's iBeacon technology to interface with the device operating system to handle some of the beacon communication (iBeacon also works on Android). Devices using the iBeacon spec broadcast one advertising packet and a unique ID number (the device ID, region and subregion numbers).
Eddystone is Google's implementation of beacons. In normal Apple v Google fashion, iBeacon is closed, simple, and controlled by Apple. Eddystone is open source - published on Github - and quite a bit more complex. Eddystone broadcasts three different packets: a unique ID number, a URL address, and sensor telemetry. Sensor data can include things like temperature, humidity, etc. The URL address is an interesting and unique part of Eddystone that allows for what Google calls the Physical Web ("The Physical Web is an open approach to enable quick and seamless interactions with physical objects and locations"). In the Physical Web, you don't need an app pre-installed - the beacon emits a URL that can be opened, if the user so chooses, on the phone.
Facebook also has a program called Place Tips. They give stores free beacons. When the user opens Facebook in range of a beacon, it provides relevant contextual information and allows a user to check in. Presumably this will be more valuable in the future.
The primary use case for beacons as added a layer of interactivity or engagement to a traditional retail store. It also enables stores to understand things like traffic patterns in the store and help with statistical online advertising attribution. Currently the question of beacons being opt-in has limited their efficacy - as has the technology being so new. One can imagine a world where beacons are more widespread and are used more directly to measure whether mobile app advertising has an impact on in store advertising. Interestingly, stores could even use beacons to allow different merchants to compete to effectively advertise to consumers that in market for a specific product - as determined by that user's patten in the store. In order to get there, though, consumers need to understand and accept the privacy implications - which are indeed a little complicated.