everything you do with osquery is possible with something like facter or with your own scripts. The difference is that osquery has a very wide range of tables and a uniform language to access the data. It also offers the ability to observer changes that happen over time, even if the agent only runs at specific time intervals