This chapter from the Holy Quran is concerned with the Islamic rules regarding war, captives and hypocrites. Let's first of all put the verse in its right context. God says:
"Those who disbelieved and barred others from Allah's Way and opposed the Messenger after the True Guidance had become manifest to them, they shall not be able to cause Allah the least harm; rather, Allah will reduce all their works to nought. Believers, obey Allah and obey the Messenger and do not cause your works to be nullified. Verily Allah shall not forgive those who disbelieved and barred others from Allah's Way and clung to their unbelief until their death. So, be not faint-hearted and do not cry for peace. You shall prevail. Allah is with you and will not bring your works to nought." (47:32-35)
Notice the following:
1- The ascending levels that the disbelievers faced Islam with. First they refused believing, second they started forbidding people from becoming Muslims either by force or tempting, third they waged war against Muslims.
This is cleared in a word like (barred), they did not just refuse to believe they prevented others from believing. In another verse God says: "The deniers of the Truth say: 'Do not give ear to the Qur'an and cause interruption when it is recited; thus perhaps you will gain the upper hand" (41:26) whenever Muhammad, peace be upon him, should start reciting it, they should create noise, clap hands, pass taunting remarks and raise all sorts of objections and such a hue and cry as to subdue his voice.
When this did not work they raised to another level which is the level of war. This is also clear in a word like (opposed) and in this case it means opposition that reached the extent of waging war.
2- Notice the sentence (clung to their unbelief until their death) which is a proof that till they died they insisted on fighting Islam. It is also proof that repentance is possible as long as you are not dead yet.
3- A Muslim is not allowed to surrender in war, however if his enemy shows the slightest inclination towards peace, then he must stop the war immediately. The verse "So, be not faint-hearted and do not cry for peace." is strangely misunderstood for being a call against peace which really amazed me because those who claim that seems to have completely over looked the verse that says: "And if they incline to peace, incline thou also to it, and trust in Allah. Lo! He, is the Hearer, the Knower." (8:61)
Notice here the word (incline) which means at the slightest initiative of wanting peace a Muslim MUST immediately cease fire and start a peace process. So the verse (47:35) is NOT against peace, it is against surrendering to the enemy who insists on war. Muslim army should never surrender in this case.
4- Notice that "So, be not faint-hearted and do not cry for peace." is actually an encouragement to the Islamic army, who had fewer number of soldiers and much less ammunition than its enemy, that is why God says: "You shall prevail. Allah is with you" because judging by the current status of both armies, the unbelievers were stronger and more capable of winning, so GOD promised the Muslims that they would win because HE is by their side.
So the Muslim soldiers were not a group of blood-thirsty men, they were fewer in number, having much less ammunition however they fought back those who fought them and were doing their utmost effort to prevent people from believing. Muslims stood in their faces despite the balance of forces that was definitely not to their advantage if calculated by our superficial earthy standards. Muslims knew that the presence of GOD by their side will definitely change the equation to their benefit.