Why is a Knapsack problem not an LP problem?
You can set up the knapsack problem as an integer linear program: To each item associate a 1/0 variable (include/exclude that item). Setting up the restrictions and the objective function from here is straightforward.

The point here is that the variables are restricted to be integers, while (regular) linear programming assumes real variables. They look similar, but are quite different beasts, computationally.

One successful technique to construct an approximate solution to the knapsack problem makes up a (continuous) linear programming problem, solve that one and tweaks the resulting values.