It is possible that you accidentaly turned off snap to grid, but if snap to grid is on, objects will always snap to it, but maybe not in the way you'd think. Any object you made with the block tool was created using the grid, so its outside lines will always fit perfectly in the grid, as long as the correct grid size is on. But props and entities werent made using the hammer grid as a reference, so they usually wont fit where you want them. The part of them that DO snap to the grid is the little X directly in the center of the object. it snaps on the intersection of any two grid lines. But if you make the grid its smallest size, you can usually get the object close enough to where you want it. But if that isnt good enough and you want two parallel lines to meet, then look at the steps below.
1. make the grid its smallest size.
2. position your object as close to where you want it as possible.
3. then grab one of the side handles as if you were going to resize a block, and drag it to the grid line that you want it to meet. after you let go, the object will move a hair closer to the grid line, but wont meet with it.
4. Continue doing this until the object is in line with the grid.
But if you use this method, just know that trying to move the WHOLE object (instead of one handle) will automatically snap it to the nearest grid intersection, and undo all your work. So if you want to move an object down, then to the left, make sure you follow the steps above.