What went wrong? Taking the highest-ratio item blocked a better combination. In fractional knapsack, you can take part of an item, so no blocking occurs. In / knapsack, items are all-or-nothing. The high-ratio item uses capacity that could have held a better pair.
Here's the core issue: greedy fails when the locally best choice prevents a globally better solution. With discrete items, this happens often. You cannot undo greedy's early mistakes.