A polynomial in several variables is called homogeneous, if each of its summands has the same degree, for example:
 1 p(x, y, z) = x*y^2 + 4x^3 
is homogeneous,
 1 p(x, y, z) = x^3*y + 4*z^2 
is not.

A function f(x, y, z) is called homogeneous, if there exists a natural number n such that for all real numbers k
 1 f(k*x, k*y, k*z) = k^n f(x, y, z). 

It is easy to verify that a homogeneous polynomial is also homogeneous as a function and in fact it is only homogeneous as a function if it is also homogeneous as a polynomial. I expect that the second notion is derived from the first from this observation.

Now to "homogeneous matrices'' (a term I have never heard of before in a mathematical context):

The function f(x, y, z) we want to describe by the matrix is a normal matrix transformation followed by a translation, i.e.
 1 f(x, y, z) = A (x, y, z) + t 
for some matrix A and a vector t.
When viewed as a polynomial it is not homogeneous because of the translation which is of degree zero while the part Ax is of degree one. But we can use an trick borrowed from projective geometry and augment a new dummy variable to the function:
 1  f'(x, y, z, u) = A' (x, y, z, u), 

where A' is a combination of A and t such that:
 1  f'(x, y, z, 1) = f(x, y, z). 

Now f' is homogeneous (since it is purely linear) and we have f'(k*x, k*y, k*z, k) = f'(x, y, z, 1). This leads to defining homogeneous coordinates which parameterizes three dimensional projective space using four coordinates, where we identify two vectors, if they are scalar multiples of each other. Homogeneous functions/polynomials in projective space then serve the purpose of normal functions/polynomials in the euclidean space.

I hope this gives some context around homogeneity.