I am a mathematician, and to me, if you already know what the tangent bundle is, and its dual the cotangent bundle, and hence know what tangent and cotangent vector fields are, then the 20 page explanation in Spivak's chapter 4, of his Comprehensive introduction to differential geometry, is as clear as it gets. Still, it is demanding and difficult, because the subject is complicated.
Basically, for each vector space V, one can construct new spaces of functions from it. One has linear functions V-->k, where k is the real numbers, and one has "multi linear" functions Vx...xV-->k, which are linear in each variable separately. These are called (point wise) "k-tensors".
Then one takes families of these spaces. Namely, at each point p of space, one considers the vector space of tangent vectors based at p. This family of tangent spaces, one for each point p, gives the "tangent bundle" of the space. Correspondingly one has the k-fold tensor bundle, a family assigning the space of k tensors at p, to each point p.
A k-tensor "field" is a choice of a k-tensor at each point p of space, This defines a function on k-vector fields. I.e. if at each point p we have chosen k vectors, then at each point p, we let our chosen k-tensor operate on the chosen k-tuple of tangent vectors, obtaining a number.
This gives us a function from k-tuples of tangent vector fields to numbers, which is characterized by the fact that it is linear in each variable separately, over the smooth functions.
I.e. a function times a function is a function, and a function times a vector field is a vector field; and if you let your tensor field act on a k-tuple of vector fields, getting a function, then multiply by a given function, you get the same result as if you first multiplied any one of the vector fields by your function, and then let the tensor field act on the resulting k-tuple.
I.e. given a tensor field, a k-tuple of vector fields, and a function, you can combine them to get a function in two ways: first multiply the function by any one of the vector fields, and then act on the resulting k-tuple of vector fields by the tensor field; or let the tensor field act first on the original k-tuple of vector fields, and then multiply by the function. The result is the same function.
The main result about tensor fields is that any such operation on k-tuples of vector fields that is (multi) linear in that way over the functions, comes from a k-tensor field.
You see why this is complicated. But I recommend spivak.
The really complicated part is the notation, because you need to assign multiple indexes to bases of k-tuples of linear functions.
But the idea is just that, given k tangent vectors at each point, a tensor assigns a number at each point. I.e., a k-tensor field takes k-vector fields to functions, just as when k=1, a (dual, or co-) vector field takes a vector field to a function.
One can also make this sound more complicated by considering a k-tensor field and an m-vector field, together as a "mixed" (m,k) [or (k,m)?] tensor field. Then letting some components of the tensor field act on some components of the vector field, is called "contracting", since some pairs of tensor and vector components are replaced by numbers. Hence contracting one pair of components of an (m,k) field, gives a smaller, (m-1,k-1) field.
In these mixed fields, the tensor components are called covariant, and the vector components are called contravariant, because their local coordinate expressions transform differently under changes of coordinates, (presumably either by the Jacobian matrix of partials or its transpose?). (A quick look at Orodruin's insight article suggests these different types of components are distinguished by upper or lower indices, in local coordinates. Then I suspect "contraction" just means multiplying a coefficient with a given upper index times one with corresponding lower index.)
Apologies if this helps no one. The physicists here are certainly better sources, but I hoped to understand it better myself by writing this paragraph.
As to the physics, one presumably has some physical phenomena which see k-tuples of tangent vectors, gobble them up, and spit out numbers.