На самом деле вопрос очень непростой, если говорить в общем. Поэтому я отвечу в частности. Для бренстедовских кислот и оснований в воде. Поскольку вопрос, я подозреваю, именно про них - в общем случае кислота не обязательно содержит протон, а основание ОН-группу. Кстати, кислород не обязательно входит в состав даже классической кислоты по Бренстеду (например, HCl - соляная кислота).
Поэтому корректно сформулировать вопрос можно, наверное, так: "Почему некоторые гидроксосоединения в воде проявляют свойства кислот, а некоторые - оснований?"
Вода сама автодиссоциируется на H+ и ОН-. То есть, является одновременно и кислотой и основанием. Так вот, определение в некотором роде смешное, поскольку тавтологическое: кислотой в воде будет более сильная (при взаимодействии с водой отдающая протон с образованием катиона гидроксония) кислота, чем вода, а основанием в воде будет более сильное (при взаимодействии принимающее протон с образованием ОН-иона) основание, чем вода.
В принципе, Вы правы - если мы имеем некоторое соединение Э-О-Н, то оно может оказаться и кислотой и основанием. Зависит от того, как пойдет процесс диссоциации при взаимодействии этого вещества с водой. По пути Э-О + Н (кислота) или по пути Э + O-H (основание). Зависеть это будет в грубом, но удобном приближении от распределения электронной плотности в этом ансамбле:
1) если Э будет сильнее тянуть плотность на себя, чем Н, то, кислород сильнее перетянет электронную плотность с водорода и связь О-Н будет сильнее поляризована и более уязвима для диссоциации (молекула воды - диполь, поэтому чем больше будет частичный заряд на атомах образующих связь, тем сильнее они будут взаимодействовать с молекулами растворителя, то есть, в данном случае воды). Это случай кислоты.
2) если, наоборот, Э слабее будет тянуть, чем Н, то ситуация перевернется и для диссоциации будет более уязвима связь Э-О. Это случай основания.
Таким образом, более электроотрицательные Э будут в конфигурации Э-О-Н скорее образовывать кислоты, а менее электроотрицательные - основания. В промежуточных случаях будут образовываться амфотерные соединения, которые могут выступать и как кислоты и как основания. Это относительно гидроксосоединений в водной среде.
В общем же случае нужно понимать, что нет кислот и оснований "вообще", "самих по себе", есть только кислоты и основания в данных условиях.