There is a difference in the way God speaks to believers and to the non-believers. To the believers, God speaks to them mostly through His Spirit, but to those who do not know Him, He speaks to them through things, situations and through His people.
We see that when King Nebuchadnezzar received a dream from God, he does not know what God was trying to tell Him. The king does not have the Spirit of God to give him the interpretation nor its meaning. The wise men of his kingdom can't do it either. God has to use a believer (Daniel) to speak to a non-believer (King Nebuchadnezzar).
The reason why many Christians hardly hear from God is because they hardly spend time with God. To clearly hear from God, we have to:
1. Make a distinction between the flesh and the spirit in our lives.
2. We must constantly walk in the Spirit.
3. Rely not on our own understanding, but rely on God to give you His understanding and counsel.
4. Ask God for discernment to differentiate the voice of the Spirit and the voice of the world or of the flesh.
5. Pray in faith and wait for God to answer our prayers.
Christians need to clearly hear from God so that they wouldn't make foolish mistakes in life. It is important that we lean towards the Spirit of God for answers and directions than our own reasonings and intellect.
Jesus loves you!