Because a perfect square always has a pair of prime factors, when prime factorized, a perfect square will always yield even powers for its prime factors. What this essentially means is that, perfect squares are the only positive integers which have an odd number of factors.
Additionally, a perfect square will always have odd number of odd factors and even number of even factors. If you come to think about it, this is the only way in which the total number of factors can be odd, because,
Total factors = Odd factors + Even factors; this implies Odd = Odd + Even (since the total number of factors is odd)
For example, 16 is a perfect square. The factors of 16 are 1, 4 and 16. It has ONE odd factor and TWO even factors.
36 is a perfect square. The factors of 36 are 1, 2,3, 4, 6, 9, 12, 18 and 36. There are 3 odd factors viz 1,3 and 9;there are 6 even factors viz 2,4,6,12,18 and 36. The total number of factors is 9.
Therefore, whenever you have a question asking you whether a given number is a perfect square, remember that, one way of identifying whether it is or not, is by looking at the number of factors it has.
With this in mind, let us look at the statements.
From statement I, we know that the sum of all factors of the number is odd.
If the number is 2, the sum of all its factors = 1 + 2 = 3. 2 is not a perfect square.
If the number is 4, the sum of all its factors = 1 + 2 + 4 = 7. 4 IS a perfect square.
Statement I is clearly insufficient. Answer options A and D can be ruled out, possible answer options are B, C or E.
From statement II, we know that the number of all factors of the number is odd. This is possible only when the number is a perfect square. So we can answer the question with a definite YES.
Statement II alone is sufficient. The correct answer has to be B.
Hope this helps!