The reason is almost always because the pointed to URL doesn’t use https. For some reason, probably as a defence against Man in the Middle attacks, Chrome on Android needs the URL to be secure otherwise it won’t be triggered. Note that the Android Physical Web app and also Chrome on iOS don’t have this limitation.
The fact that so many people are confused and it’s inconsistent with Chrome on iOS suggests that the Google hasn’t thought through or communicated this aspect well enough.
UPDATE: As of October 2017, Google removed Eddystone detection from Chrome on iOS and Android. Only Android can provide notifications.